trying to add 45 different points to a map, but I just get OVER_QUERY_LIMIT
returned, and no map.
I am getting locations via a string search, then assigning the returned LatLng object to a new google Marker object
String Search
var geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': x}, function(results, status) {
if (status === google.maps.GeocoderStatus.OK) {
var result = results[0].geometry.location;
return result;
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
How you should approach this is by geocoding the static address, if they are static and save the lat lng for further use. I don't know what to say if there not static tho.
ReplyDeleteConsider using Google Fusion Tables for the data storage and its geocoding part- at the very least, their batch geocoding interface obeys their own internal limits.
ReplyDeletehttp://support.google.com/fusiontables/bin/answer.py?hl=en&answer=1012281
Google Geocoding is rate limited throughout the day. It's also limited by IP address. So, two possible interactions: If you're sharing an IP address with lots of other people, they may also be dragging down your quota. This is particularly true in mobile environments. Another more likely possibility is that you are running into the rate limit over the day. If you get that, pause of a second or two and try again.
ReplyDeleteYou can also cache geocodes and addresses for performance purposes, and have a back-up server side geocoding service using Google's web services. That'll also be quota'd but it's a good fallback.