触发Google地图标记点击

割草机:

我设置了谷歌地图来查找用户的当前位置,并将地图居中于该用户最近的位置。单击标记会打开一个信息框(请注意,这与infoWindow有所不同-http: //google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/docs/examples.html)。但是,我要做的是自动打开最近的标记,而无需用户实际单击。这是触发标记打开的代码:

//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函数,但必须在此标记之外的函数中完成。我将引用数组中适当的标记(markers [closestmarker])。

kevinstueber:

我看到这个问题已经存在了很长时间,但是以防万一,这个答案可能会有所帮助:触发google maps标记点击

代码如下所示:

var marker = new google.maps.Marker({});
new google.maps.event.trigger( marker, 'click' );

祝好运!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章