google maps api v3 - 定位标记

时间:2016-07-05 08:15:43

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

我设置了这样的标记

{{1}}

这似乎只在最后一个上附加了事件处理程序。如何将其添加到所有标记

1 个答案:

答案 0 :(得分:1)

您需要将addListener包装在一个闭包中。

var marker, i;
var markers = [];

for (i = 0; i < locations.length; i++) {
    marker = new google.maps.Marker({
        position: new google.maps.LatLng(locations[i][1], locations[i][2]),
        map: map,
        icon: 'img/markers/t1.png',
        id: locations[i][3]
    });

    google.maps.event.addListener(marker, 'mouseover', (function(marker, i) {
        return function() {
            marker.setIcon("img/serve-bracket.png");
        }
    })(marker, i));

    markers.push(marker);
}