0
votes

I need guidance on how to approach this problem.

I have a local directory which listings with addresses. I have been able to add geocode the address and save the latitude and longitudes. So far, no problem.

Now when the user searches in the directory, he/she will type in an address and then search for listings. The problem is I will need to geocode the search term(it will be an address/part of an address) and then search for listings.

Considering that the free geocoding limit is only 2500 requests per day, I will run out of the limit very soon every day.

Is there any other approach to this problem?

3
You didn't mention the accuracy that you need in the geocodes. Are you looking for rough area or are you doing precision sky-diving. There's a HUGE difference in the lat/lon accuracy that you will get from different providers. - Jeffrey
Just a rough location. For example, suppose I have a directory of hospitals. As a user, if I type an address I am in now, I expect the list of hospitals close by. For that, the website first needs to geocode the address entered by me and then find hospitals closest to me. I feel this approach is expensive. Are there any other smarter ways to do this? - user2875322
You've got the right approach. You will need to first establish a list of hospitals and geocode those addresses. Then, as an address comes in you'll geocode it and then determine distance to each of the hospitals and display only the closest ones. If you can filter the hospital locations to just the ones in the same state (or neighboring states) you'll save yourself some time in the proximity determination. - Jeffrey

3 Answers

0
votes

You could just use a different geocoder which doesn't have this limit.

For example there is Nominatim which uses data from OpenStreetMap. Although OSM's official Nominatim instance has a rather strict usage policy because it runs on donated servers you can just use a different instance, for example the one run by MapQuest. And if you want no restrictions at all then you can choose to run your own Nominatim instance.

0
votes

If you're dealing with US addresses, SmartyStreets sounds like it might be a good fit. We specialize in address verification and standardization, and we also return geocoding data (lat/lon) along with 40+ other data points, should you need them. Our Terms of Service are pretty open, unlike Google's (which doesn't let you use the geocode data for anything other than displaying on one of their maps); so you would be able to store and use the lat/lon in your own application. We have a jQuery plugin that can handle the address at point-of-entry, or you could use our API or our Lists service (especially useful if you have an accumulated list you want to process up front).

Our service also has an autocomplete feature that could cut down the time your users spend typing in addresses.