Goodbye Google, Hello OpenStreetMap

Several years ago, Google Maps increased their API pricing for embedded maps (by over 1000%!), which the ESMap service relied heavily on. Previously this site was able to sit comfortably within the free allotment of requests per month, but with the pricing and structure changes, these costs have since risen to around $600/mo. Considering I make $0/mo in revenue from this service, this was not an acceptable cost.

Here’s a “fun” graph of my costs from Jan 2020 to Dec 2024:

I am not a full time or even a professional software developer, so as the bills continued to drain my bank account, I slowly worked on rebuilding the site to use an alternate mapping provider. This required several core changes to the way the program worked, so I ended up just rebuilding it from scratch.

My primary goal has been to replicate all of the functionality of the old site, and then I could focus on upgrades and new features after I stopped hemorrhaging funds. To that end, here is a list of the significant changes:

  1. The map itself is no longer using data from Google, but OpenStreetMap. Additionally, I am using my own copy of the data to create the map “tiles” so some things may not always be the most up-to-date. I am also only having the data for regions where the ESMap service is available (for now, Orange County Florida). Everything else will be empty. There will also no longer be satellite imagery.
  2. Instead of showing all calls that were open any time in the last hour, only calls that are currently open will be shown. Eventually I will have a search feature that will allow you to rewind to a previous point in time and this won’t matter.
  3. Since I have direct access to the mapping data, I am now able to more accurately represent places with incomplete or vague location information, such as entire streets, blocks, and zones. An example of this can be found in the image below.
  4. Dark mode!
  5. Call data from 2024 and earlier will no longer be available. Most of this gets published through the county data portals anyways. Going forward I will probably be keeping the last years worth of calls online and pruning them each month. I might make data dumps available but that’ll all come later.

Key things I’ll be working to add in the near future will be:

  1. Searching for calls both active and closed based on call type, agency, time, and location. This includes being able to put a marker down and search for anything in a radius of that point at a given time.
  2. Location awareness (starts zoomed in on where you are instead of the whole county).
  3. Activity feed showing in real-time the changes being made to the data, including a timeline for each call (for example showing a call that came in as a 911 EMERGENCY but then was updated to SUSPICIOUS PERSON).

I’d also like to find a way to get my $10,000 back, but we’ll have to see about that.

Leave a Reply