Oh my god, you are not going to believe how special case this scenario is. I can now reproduce the bug but only under the most specific of conditions. I'll work on narrowing it down further in the mean time, but I just had to report what I've got so far because it's so... gene ce quoi.
* Case: * Browser: Firefox (Only) - Reproduced with v3.6 Maps: http://library.ucf.edu/Administration/Maps/Default_unpublished.asp?develop=1 Process: #1. Load map. #2. Switch to Map, Hybrid, Satellite. #3. Switch to 4th Floor (Custom Map w/ Study Rooms, 1, 3, 4). being fired. #4. Click any study room. #4.1. Special Note: If you choose 4th Floor, clicking any study room BEFORE zoom, results in no event being fired. Clicking only study rooms 425-429 AFTER zoom results in no event #4.2. Special Note: If you choose 3rd Floor, A zoom BEFORE clicking a study room results in no event being fired. Any time after the first zoom, all events will fire normally. #4.3. Special Note: If you choose 1st Floor, Zooming has NO effect on whether events are fired or not. They are never fired, ever. #5. Changing the map type to another custom map makes every polygon work flawlessly. #5.1 Special Note: Changing to a built-in Google map type and back to a custom map has intermittent results and *sometimes* reinitiates the event failures. All polygons are created during the same loop. The only conditional is differentiation between Computers Polygon and StudyRoom Polygon. Events are attached to the studyroom polygons uniformly in the same loop. Theoretically (and in practice, other than Firefox), all polygons should behave the same since it's literally the same line of code that attaches the event listener for all of the polygons. Unrelated (perhaps): An AJAX request is fired on maptypeid_changed which then touches only the polygons whose IDs are mentioned in the AJAX response. Their colors are set and their content property is set for later use. =cut So after writing all this, I started to just comment out possible sections of code and narrowed the problem down to a polygon ordering/ layering/stacking issue. The above linked version of the page runs some additional debug and development code. In that code it creates a rectangle around the world. The fill opacity is set to 0, but it's drawn first and only once. When this rectangle is not drawn to the map, everything works perfectly fine. The polygons for the studyrooms are redrawn each time the map type is changed to a specific floor. For me and my specific case, this is all now apparently moot, since nobody in production will have the development mode enabled, but the stacking issue itself could be of importance to someone else. On Mar 19, 9:18 am, Ben Appleton <[email protected]> wrote: > Intriguing. Polys use DOM events, so if you see them you can click them, > regardless of projection. If you can reproduce it I'd be interested to > check it out. > > On 19 Mar 2010 23:48, "Brak" <[email protected]> wrote: > > I had an issue the other day that I didn't report, because I couldn't > reliably reproduce it, and now it's gone. Fixed altogether. > > The issue related to polygons receiving events when using a non- > standard projection. Markers could receive click events, but not > polygons. In fact, no polygons received any events. (Due to an offset > miscalculation from the projection?) > > Just wanted to say thanks if you guys had silently fixed it without > anyone even reporting it. The fix came on March 17th or so. > > On Mar 15, 8:38 pm, "Luke (Google Employee)" <[email protected]> wrote:> Hey > everyone! > > > We've re... > > changes below: > > http://code.google.com/p/gmaps-api-issues/wiki/JavascriptMapsAPIv3Cha... > > > > > > > Noticeable changes: > > - Polygons now correctly repaint when styles are changed. > > - Deprecated w... -- 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.
