# HG changeset patch # User Matti Hamalainen # Date 1394794684 -7200 # Node ID 85ee47035acfd889c52356e14dd4dc34039df770 # Parent b8dfdc61acbdcf98912561b332509f2aa9d3ce01 Open marker info window if specified coordinates hit it exactly. diff -r b8dfdc61acbd -r 85ee47035acf map.js --- a/map.js Fri Mar 14 12:57:42 2014 +0200 +++ b/map.js Fri Mar 14 12:58:04 2014 +0200 @@ -92,16 +92,21 @@ pmapCanvas.setMap(pmap); google.maps.event.addListener(pmap, "mousemove", pmapCoordinateListener); + if (szoom && sx && sy) + { + google.maps.event.addDomListener(pmap, "foobar", function() + { + pmap.setZoom(szoom); + pmap.panTo(pmapMapCoordsToLatLng(new google.maps.Point(sx, sy), 6)); + var mk = pmapGetMarkerIndexByCoords(sx, sy); + if (mk) + pmapMyClick(mk); + }); + } + pmapInitializeNav(); pmapInitializeIcons(); pmapInitializeMarkers(); - pmapInitializeNav(); - - if (szoom && sx && sy) - { - pmap.setZoom(szoom); - pmap.panTo(pmapMapCoordsToLatLng(new google.maps.Point(sx, sy), 6)); - } } diff -r b8dfdc61acbd -r 85ee47035acf markers.js --- a/markers.js Fri Mar 14 12:57:42 2014 +0200 +++ b/markers.js Fri Mar 14 12:58:04 2014 +0200 @@ -136,6 +136,13 @@ function pmapInitializeMarkers() { + pmapInfoWindow = new google.maps.InfoWindow; + + google.maps.event.addListener(pmap, 'click', function() + { + pmapInfoWindow.close(); + }); + pmapMMgr = new MarkerManager(pmap); google.maps.event.addListener(pmapMMgr, 'loaded', pmapLoadMarkers); } @@ -144,12 +151,6 @@ function pmapLoadMarkers() { pmapMIndex = 0; - pmapInfoWindow = new google.maps.InfoWindow; - - google.maps.event.addListener(pmap, 'click', function() - { - pmapInfoWindow.close(); - }); // // Parse regular markers from JSON @@ -178,6 +179,7 @@ //pmapAddMarkers(pmapAreas["fort"], 8, 11); pmapMMgr.refresh(); + google.maps.event.trigger(pmap, "foobar"); document.getElementById("sidecontent").innerHTML = pmapSideBuiltinHTML; });