In some situations, clicking the built-in zoom control (slider style)
does not result in the map's tiles being re-rendered, i.e. it does not
zoom:

- The zoom control slider knob *does* move as a result of the click.
It can also be dragged up or down, but does not result in a zoom.
Double-clicking on the map *does* result in a zoom.

- The zoom-changed event fires, and the map reports its zoom level as
changed. One can also call setZoom on the map object (e.g. in the
Firebug console). In either case, the reported zoom level matches the
zoom control slider knob, but the map tiles don't change.

- The issue has occurred in Firefox, Safari and Chrome. (IE not tested
yet). However, it occurs inconsistently. In Safari, the issue seems to
coincide with a particular error reported in the error console:

TypeError: Result of expression 'n[ii]' [null] is not an object.

That error occurs on load. In a sequence of page refresh attempts, the
error occurs perhaps 7 of 10 times. It can be traced to main.js, where
n is the HTMLDocument object and ii is the string "body". The attempt
to resolve document.body.appendChild fails because document.body is
null. The argument to document.body.appendChild is supposed to be a
div element.

This leads me to believe that the inconsistency of the error is the
result of a race condition. There is an attempt to append to the body
element, but more often than not the body element is not ready. It
suggests that some process needs to be delayed until the DOM is ready.
What's strange is that the entire call stack at that point is within
main.js and what the Safari debugger refers to as "(program)", which
appears to be google.maps code as well.

- For the record, I am waiting until DOMReady to instantiate the map
object. I am also extending google.maps.Map (and its extension), so
technically there are prototype map objects being created in the head
of the document. I have been using this approach for months and had
not seen this issue since only a few days ago.

In closing, thank you for your time and consideration. I regret that I
do not have a publicly available deployment of this code at the
moment, though I might try to cook something up. Your insight is
greatly appreciated.

Best Regards,

Bogart

-- 
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