I guess this is an ancient thread but I'm glad I finally found it, because 
I also encountered this puzzling limitation.  Caching the data wasn't 
really an option for my needs, so I worked within the confines of the rate 
cap by limiting my request rate with JavaScript's setTimeout:

// Global variables.
var map;
var geocoder = new google.maps.Geocoder();
var red_icon = "
http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FE7569";

function add_pin( address, icon )
{
   geocoder.geocode( { "address": address }, function( results, status )
   {
      if( status == google.maps.GeocoderStatus.OK )
      {
         var marker = new google.maps.Marker
         ({
            map: map,
            position: results[ 0 ].geometry.location,
            icon: icon
         });
      }
      else if( status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT )
      {
         // Schedule another attempt in 5 seconds.
         setTimeout( "add_pin( \"" + address + "\", \"" + icon + "\" );", 
5000 );
      }
   });
}

... insert your code for creating a map, building a list of addresses, etc 
...

// Specify the interval (ms) between marker requests.
var interval = 250;

// Schedule delayed marker requests.
for( var i = 0; i < addresses.length; i ++ )
   setTimeout( "add_pin( \"" + addresses[ i ] + "\", red_icon );", 
i*interval );

Hopefully this will help someone else in a similar situation!


On Tuesday, July 13, 2010 3:44:03 PM UTC-7, moderntymes wrote:
>
> If there is throttling, which would certainly explain this, Google 
> should really say so in their API. If it weren't for their rate 
> limiting, seems like it would load plenty fast since the 10 that work 
> ok come up quite fast. Forty doesn't seem like so many to me, 
> considering I've seen examples where there are 100s or even thousands 
> of markers. I understand they must not be geolocating for those, but 
> still... 
>
> I read and re-read the section in the API regarding geolocation (again 
> just now) and didn't see anything about a rate limit, other than the 
> 2500/day limit. I appreciate your info and quick responses, to make up 
> for what the online references lacked! 
>
> On Jul 13, 11:50 am, Rossko <ros...@culzean.clara.co.uk> wrote: 
> > > I have no idea why there would be OVER_QUERY_LIMIT error, but isn't 
> > > that on a per client basis anyway? I certainly haven't made 2500 
> > > geolocation requests today. That seems very odd. 
> > 
> > Not odd at all.  2500/day is one every 35 seconds.   Google do allow 
> > you to have small bursts, but they do also apply a rate limit which 
> > your method is clearly breaking.   You need to throttle your 
> > requests.   Your map is going to load very slowly if you geocode every 
> > time someone views it. 
> > 
> > Geocode your data at point of entry to the database ; it matters not 
> > if it changes daily.  Not only does it prevent your application from 
> > hogging resources shared by other people, but your own map will 
> > perform many times faster.

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps JavaScript API v3" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-maps-js-api-v3/-/Rv3HQCwKn34J.
To post to this group, send email to google-maps-js-api-v3@googlegroups.com.
To unsubscribe from this group, send email to 
google-maps-js-api-v3+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-maps-js-api-v3?hl=en.

Reply via email to