Re: [Pixels & Beats] Google Maps integration via jQuery
I did a little digging. It's the Geocoder.
gMap is using the Google Geocoding API to resolve addresses and Google's service isn't returning valid positions for all the addresses requested, (only the first few.) gMap doesn't have any error checking to make sure a proper position was returned.
Google says:
"As a general best practice, it is not recommended to use GClientGeocoder functions in a loop. Developers that have multiple addresses to geocode should probably use our HTTP Geocoder instead."
gMap is using the GClientGeocoder functions in a loop.
Also, Google says of their Geocoding API:
"Use of the Google Geocoding API is subject to a query limit of 2,500 geolocation requests per day. (User of Google Maps API Premier may perform up to 100,000 requests per day.) This limit is enforced to prevent abuse and/or repurposing of the Geocoding API, and this limit may be changed in the future without notice.
Additionally, we enforce a request rate limit to prevent abuse of the service."
I'm pretty sure that's what's happening: gMap is making too many requests in too short of a time and Google's geocoding service starts failing.
I think the simplest solution is to geocode addresses on the server-side. Your markers will display immediately and you won't have to worry about query limits. We have a plugin in development which does exactly that. I'm going to finish it up and release it as soon as possible — hopefully tomorrow! I'll post here when it's ready.
P.S. The good news is that you should be able to keep using gMap. :)
All the best,
Chris