Sounds great Saxan!

You can also access our geocoder directly over HTTP, which may make things
easier to batch geocode a set of fixed points:
http://code.google.com/apis/maps/documentation/geocoding/index.html

On Wed, Feb 10, 2010 at 12:33 PM, Saxan Sartar <[email protected]>wrote:

> Yes, that code is doing 122 every page load.
>
> The new code I am writing will only geocode one location one time. Then it
> is perma-cached. (These locations will never move - they are massive
> facilities).
>
> But I will build the throttling in, in case more than 10 more are input
> into the system at one time. I figure if it can throttle the initial 122
> load okay, it should be good for any future data entered.
>
> I'll do 122 item geo-code myself (pre-geocode), so when this goes live the
> first person to hit the page won't be the unlucky one with a wait time...
>
> Thanks again
>
>
> On Tue, Feb 9, 2010 at 1:47 PM, Daniel Lee <[email protected]> wrote:
>
>> There's a way to throttle the requests off to our Geocoder using
>> JavaScript.  Try creating a wait function to send off 5 geocode requests
>> every second (i.e. 200ms intervals).  If the requests are still failing,
>> increase the delay, etc.
>>
>> Saxan, are you geocoding the same 122 locations every page load?  If so,
>> you should probably pre-geocode them instead of geocoding them at run-time.
>>
>>
>>
>>
>>
>> On Tue, Feb 9, 2010 at 7:28 AM, Saxan Sartar <[email protected]>wrote:
>>
>>> thanks. I found this thread, says 10 results every 5 seconds.
>>>
>>>
>>> http://groups.google.com/group/google-maps-js-api-v3/browse_thread/thread/95f6a177c8ce6d23?pli=1
>>>
>>> Not sure what the final answer is, but I will make the changes flexible
>>> enough to handle any interval.
>>>
>>> Thanks for all the help.
>>>
>>> -Tim
>>>
>>>
>>> On Tue, Feb 9, 2010 at 9:04 AM, Van Thieu <[email protected]> wrote:
>>>
>>>> you can't ping more than once ever 1 second or 20 results per page.
>>>>
>>>> On 9 February 2010 09:55, Saxan Sartar <[email protected]> wrote:
>>>>
>>>>> Thanks, it's coming back with OVER_QUERY_LIMIT. Haha, I guess I abused
>>>>> it too much.
>>>>>
>>>>> Thanks Daniel, I'll get some funding approved and get a fix in to come
>>>>> off the 122 hits on the page load.
>>>>>
>>>>> However, we'd still like to geocode the ad hoc searches. Anyway I can
>>>>> seek redemption and get my query limit reset?
>>>>>
>>>>> -Tim
>>>>>
>>>>>
>>>>> On Mon, Feb 8, 2010 at 6:45 PM, Daniel Lee <[email protected]>wrote:
>>>>>
>>>>>> Saxan, it sounds like your app is yielding unsuccessful geocoding
>>>>>> responses.
>>>>>>
>>>>>> What values are you getting of google.maps.GeocoderStatus in your
>>>>>> drawMappable() function?
>>>>>>
>>>>>>
>>>>>> On Mon, Feb 8, 2010 at 12:15 PM, Saxan Sartar <[email protected]
>>>>>> > wrote:
>>>>>>
>>>>>>> sorry, I know the code is more than a sandbox. I can try to build one
>>>>>>> if that helps.
>>>>>>>
>>>>>>> Also, I wanted to mention the json does contain lat/lng, but it is
>>>>>>> not used. Originally I used this instead of geocoding, but we found it 
>>>>>>> was
>>>>>>> not precise enough and was off by miles. The issue is with how our data 
>>>>>>> was
>>>>>>> stored, so ... geocoding was a quick fix.
>>>>>>>
>>>>>>> And why does it call the geocoder 122 times every page load....
>>>>>>> instead of cache? The answer: This project had no funding, I was not 
>>>>>>> allowed
>>>>>>> to spend any more time on it.
>>>>>>>
>>>>>>>
>>>>>>> Despite these flaws, I wanted to thank you for looking at it.
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Feb 8, 2010 at 1:58 PM, Saxan Sartar <[email protected]
>>>>>>> > wrote:
>>>>>>>
>>>>>>>> Has the geocoder services changed since last week?
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Feb 8, 2010 at 1:54 PM, Saxan Sartar <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Just loading the page shows the error. No need to use the search
>>>>>>>>> (although it appears to have the same issue).
>>>>>>>>>
>>>>>>>>> form loads:
>>>>>>>>> doLoad() is called in transearch.js
>>>>>>>>>
>>>>>>>>> function doLoad() {
>>>>>>>>>     InitQueryCode('city');
>>>>>>>>>     var initFocus = document.getElementById('address');
>>>>>>>>>     if (initFocus != null) initFocus.focus();
>>>>>>>>>     drawInitialMap();
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> drawInitialMap() fires next:
>>>>>>>>>
>>>>>>>>> function drawInitialMap() {
>>>>>>>>>  ... boring ajax stuff
>>>>>>>>>
>>>>>>>>> until finally:
>>>>>>>>>
>>>>>>>>> ==> drawMarkers(map, jsonObj);
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> If you use firebug, you can see the Mappables are loaded properly
>>>>>>>>> from the geocoder services. (Console \ JSON or Console \ Response)
>>>>>>>>>
>>>>>>>>> drawMarkers should just iterate through the JSON Mappables array
>>>>>>>>> and write the markers.. but this is what has stopped working properly.
>>>>>>>>>
>>>>>>>>> function drawMarkers(map, jsonObj) {
>>>>>>>>>     var geocoder = new google.maps.Geocoder();
>>>>>>>>>
>>>>>>>>>     if (jsonObj.Mappables.length > 0) {
>>>>>>>>>         for (var i = 0; i < jsonObj.Mappables.length; i++) {
>>>>>>>>>             var mappable = jsonObj.Mappables[i];
>>>>>>>>>             drawMappable(map, mappable, geocoder);
>>>>>>>>>         }
>>>>>>>>>     }
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> and finally drawMappable is called. However, it is acting like the
>>>>>>>>> status is not OK or something like it used to be. I am still 
>>>>>>>>> debugging this
>>>>>>>>> part now.
>>>>>>>>>
>>>>>>>>> function drawMappable(map, mappable, geocoder) {
>>>>>>>>>     var lat = 0;
>>>>>>>>>     var lng = 0;
>>>>>>>>>     var searchAddress = (mappable.addr + ' ' + mappable.city + ' '
>>>>>>>>> + mappable.st + ' ' + mappable.zip);
>>>>>>>>>     geocoder.geocode({
>>>>>>>>>         address: searchAddress
>>>>>>>>>     },
>>>>>>>>>                 function(results, status) {
>>>>>>>>>                     if (status == google.maps.GeocoderStatus.OK &&
>>>>>>>>> results.length) {
>>>>>>>>>                         if (status !=
>>>>>>>>> google.maps.GeocoderStatus.ZERO_RESULTS) {
>>>>>>>>>                             var marker = new google.maps.Marker({
>>>>>>>>>                                 position:
>>>>>>>>> results[0].geometry.location,
>>>>>>>>>                                 map: map,
>>>>>>>>>                                 clickable: true,
>>>>>>>>>                                 icon: "blue-dot.png?open",
>>>>>>>>>                                 title: mappable.name
>>>>>>>>>                             });
>>>>>>>>>                             mapListener(map, marker, mappable);
>>>>>>>>>                         }
>>>>>>>>>                     }
>>>>>>>>>                 });
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> I did remove the references to the kmbox stuff in my sandbox just
>>>>>>>>> now and replaced it with the new Circle overlay in the API. Nice 
>>>>>>>>> feature,
>>>>>>>>> thanks for adding it. Still same issue however.
>>>>>>>>>
>>>>>>>>> -Tim
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mon, Feb 8, 2010 at 1:37 PM, Daniel Lee 
>>>>>>>>> <[email protected]>wrote:
>>>>>>>>>
>>>>>>>>>> I took a look at your application, and it's quite large.
>>>>>>>>>>
>>>>>>>>>> Can you reply back with specific steps to reproduce this?  For
>>>>>>>>>> example, do I need to search a specific zip code?
>>>>>>>>>>
>>>>>>>>>> Are you geocoding all 122 points on the map?
>>>>>>>>>>
>>>>>>>>>> On Mon, Feb 8, 2010 at 10:58 AM, Saxan Sartar <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> I have a page that currently prints 122 points on the map from
>>>>>>>>>>> your geocoder services.
>>>>>>>>>>>
>>>>>>>>>>> But after this change, only 1 point is shown.
>>>>>>>>>>>
>>>>>>>>>>> http://domino.bnsf.com/website/premtransloader.nsf/SBDest?Open
>>>>>>>>>>>
>>>>>>>>>>> If I throw an alert in my drawMarkers() function
>>>>>>>>>>>
>>>>>>>>>>> alert(jsonObj.Mappables.length); --> I get 2 of the 122 markers,
>>>>>>>>>>> instead of 1.
>>>>>>>>>>>
>>>>>>>>>>> The functions are defined in transearch.js (found in the same
>>>>>>>>>>> relative path).
>>>>>>>>>>>
>>>>>>>>>>> Prior to the new release, this was not happening. I am looking
>>>>>>>>>>> into it, and also wanted to share with you.
>>>>>>>>>>>
>>>>>>>>>>> -Tim
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Feb 8, 2010 at 12:49 PM, Daniel Lee <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> We've recently pushed out a new version of the API.  See the
>>>>>>>>>>>> list of
>>>>>>>>>>>> changes below:
>>>>>>>>>>>>
>>>>>>>>>>>> http://code.google.com/p/gmaps-api-issues/wiki/JavascriptMapsAPIv3Changelog
>>>>>>>>>>>>
>>>>>>>>>>>> Changed issues:
>>>>>>>>>>>> - Issue 2135: Bug: If you reuse a Polygon's MVCArray in a
>>>>>>>>>>>> Polyline,
>>>>>>>>>>>> the Polyline is closed.
>>>>>>>>>>>>
>>>>>>>>>>>> Noticeable changes:
>>>>>>>>>>>> - Added new Rectangle class:
>>>>>>>>>>>>
>>>>>>>>>>>> http://code.google.com/apis/maps/documentation/v3/reference.html#Rectangle
>>>>>>>>>>>> - Added new Circle class:
>>>>>>>>>>>>
>>>>>>>>>>>> http://code.google.com/apis/maps/documentation/v3/reference.html#Circle
>>>>>>>>>>>> - Fixed memory leak when creating then removing a marker.
>>>>>>>>>>>> - Stopped annotating the MVCArray of LatLngs to close Polygons,
>>>>>>>>>>>> as
>>>>>>>>>>>> that causes Polylines which share the same MVCArray to be closed
>>>>>>>>>>>> too
>>>>>>>>>>>> (see Issue 2135 above)
>>>>>>>>>>>> - Fixed a bug which sometimes hid onscreen markers if the map's
>>>>>>>>>>>> zoom
>>>>>>>>>>>> was set to its current value.
>>>>>>>>>>>> - Fixed ImageMapType to display correctly on Android.
>>>>>>>>>>>> - Changed the polygon clipping scheme to allow polygons which
>>>>>>>>>>>> contain
>>>>>>>>>>>> the north or south pole.
>>>>>>>>>>>> - Increased the latitude range of MercatorProjection to the
>>>>>>>>>>>> maximum
>>>>>>>>>>>> possible subject to floating point precision.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Please test and provide feedback.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>
>>>>>>>>>>>> Dann
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>> Google Groups "Google Maps JavaScript API v3" group.
>>>>>>>>>>>> To post to this group, send email to
>>>>>>>>>>>> [email protected].
>>>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>>>> [email protected]<google-maps-js-api-v3%[email protected]>
>>>>>>>>>>>> .
>>>>>>>>>>>> For more options, visit this group at
>>>>>>>>>>>> http://groups.google.com/group/google-maps-js-api-v3?hl=en.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>  --
>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>> Google Groups "Google Maps JavaScript API v3" group.
>>>>>>>>>>> To post to this group, send email to
>>>>>>>>>>> [email protected].
>>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>>> [email protected]<google-maps-js-api-v3%[email protected]>
>>>>>>>>>>> .
>>>>>>>>>>> For more options, visit this group at
>>>>>>>>>>> http://groups.google.com/group/google-maps-js-api-v3?hl=en.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Daniel Lee
>>>>>>>>>> Developer Programs Engineer
>>>>>>>>>> Google, Inc.
>>>>>>>>>> 345 Spear Street
>>>>>>>>>> San Francisco, CA 94105
>>>>>>>>>> 650 253 0967
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>>> Groups "Google Maps JavaScript API v3" group.
>>>>>>>>>> To post to this group, send email to
>>>>>>>>>> [email protected].
>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>> [email protected]<google-maps-js-api-v3%[email protected]>
>>>>>>>>>> .
>>>>>>>>>> For more options, visit this group at
>>>>>>>>>> http://groups.google.com/group/google-maps-js-api-v3?hl=en.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>  --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "Google Maps JavaScript API v3" group.
>>>>>>> To post to this group, send email to
>>>>>>> [email protected].
>>>>>>> To unsubscribe from this group, send email to
>>>>>>> [email protected]<google-maps-js-api-v3%[email protected]>
>>>>>>> .
>>>>>>> For more options, visit this group at
>>>>>>> http://groups.google.com/group/google-maps-js-api-v3?hl=en.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Daniel Lee
>>>>>> Developer Programs Engineer
>>>>>> Google, Inc.
>>>>>> 345 Spear Street
>>>>>> San Francisco, CA 94105
>>>>>> 650 253 0967
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Google Maps JavaScript API v3" group.
>>>>>> To post to this group, send email to
>>>>>> [email protected].
>>>>>> To unsubscribe from this group, send email to
>>>>>> [email protected]<google-maps-js-api-v3%[email protected]>
>>>>>> .
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/google-maps-js-api-v3?hl=en.
>>>>>>
>>>>>
>>>>>  --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Google Maps JavaScript API v3" group.
>>>>> To post to this group, send email to
>>>>> [email protected].
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected]<google-maps-js-api-v3%[email protected]>
>>>>> .
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/google-maps-js-api-v3?hl=en.
>>>>>
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Google Maps JavaScript API v3" group.
>>>> To post to this group, send email to
>>>> [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected]<google-maps-js-api-v3%[email protected]>
>>>> .
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/google-maps-js-api-v3?hl=en.
>>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google Groups
>>> "Google Maps JavaScript API v3" group.
>>> To post to this group, send email to
>>> [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected]<google-maps-js-api-v3%[email protected]>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/google-maps-js-api-v3?hl=en.
>>>
>>
>>
>>
>> --
>> Daniel Lee
>> Developer Programs Engineer
>> Google, Inc.
>> 345 Spear Street
>> San Francisco, CA 94105
>> 650 253 0967
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Google Maps JavaScript API v3" group.
>> To post to this group, send email to
>> [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<google-maps-js-api-v3%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/google-maps-js-api-v3?hl=en.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google Maps JavaScript API v3" group.
> To post to this group, send email to
> [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-maps-js-api-v3%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-maps-js-api-v3?hl=en.
>



-- 
Daniel Lee
Developer Programs Engineer
Google, Inc.
345 Spear Street
San Francisco, CA 94105
650 253 0967

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps JavaScript API v3" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-maps-js-api-v3?hl=en.

Reply via email to