trigger google maps marker click
我设置了谷歌地图以查找用户的当前位置,并将地图置于最靠近其位置的标记处。 单击时,标记会打开一个信息框(注意这与infoWindow略有不同 - http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/docs/examples.html)。 但是,我想要做的是在没有用户实际点击的情况下自动打开最近的标记。 这是触发标记打开的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | //loop through all locations to add a marker: addMarker = function(loc) { var markerLoc = new google.maps.LatLng(loc.Lat, loc.Long); var marker = new google.maps.Marker({ map: map, position: markerLoc }); google.maps.event.addListener(marker,"mousedown", function() { var infoOpts = { content: loc.markerText, boxStyle: { background:"none transparent", width:"180px"}, pixelOffset: new google.maps.Size(-90, 0), closeBoxMargin:"5px" }; var ib = new InfoBox(infoOpts); ib.open(map, marker); }); markers.push(marker); }; |
所以我不得不触发相应标记的mouseDown函数,但必须在这个函数之外的函数中完成。 我将引用数组中的相应标记(标记[nearestmarker])。
我看到这个问题已经存在了很长一段时间,但是,以防万一,这个答案可能会有所帮助:
触发谷歌地图标记点击
代码如下所示:
1 2 | var marker = new google.maps.Marker({}); new google.maps.event.trigger( marker, 'click' ); |
祝好运!
我发现我需要像这样将标记事件附加到标记
1 2 3 4 5 | var marker = new google.maps.Marker({}); marker.addListener('click', function() { infowindow.open(map, marker); }); new google.maps.event.trigger( marker, 'click' ); |