谷歌地图 - 带标记的多种行为

时间:2014-06-23 09:06:52

标签: javascript google-maps google-maps-api-3

我有一个谷歌地图,我想显示两种类型的标记。其中一个会显示一个包含一些信息的弹出窗口,另一个只会链接到一个URL。

是否可以在标记之间设置某种区别,以便您可以为每个标记添加单独的侦听器功能?

提前致谢。

1 个答案:

答案 0 :(得分:0)

这样的事可能(http://jsfiddle.net/uzV95/)? :

var pos = [
        {
            position: new google.maps.LatLng(-25.1, 131.044922),
            action: function (e) {
                document.location.href = "http://google.com"
            }
        },
        {
            position: new google.maps.LatLng(-25.363882, 131.044922),
            action: function (e) {
                infowindow.open(map, this);
            }
        }
    ],
    markers = [],
    infowindow = new google.maps.InfoWindow({
        content: "hi"
    }),
    mapOptions = {
        center: pos[0].position,
        zoom: 8,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    },
    map = new google.maps.Map(document.getElementById("map"),
                              mapOptions);

pos.forEach(function (position) {
    var marker = new google.maps.Marker({
        position: position.position
    });
    marker.setMap(map);
    google.maps.event.addListener(marker, 'click', position.action);
    markers.push(marker);
});

希望这有帮助!