我从XML列表导入地图数据并将其放在markerArray中,然后调用createMarkers(); 标记出现在地图上,但点击始终会转到列表中的最后一个标记。
所有帮助表示赞赏。
function createMarkers() {
for (i=0; i<markerArray.length; i++){
var marker = new google.maps.Marker({position:markerArray[i].latlng, map:map, title:markerArray[i].label, icon:images[markerArray[i].type]});
google.maps.event.addListener(marker, 'click', function() {
map.setZoom(9);
map.setCenter(marker.getPosition());
});
}
答案 0 :(得分:3)
marker
。绑定到'click'
的函数应该包含在具有marker
的本地副本的闭包中。我必须做一次类似的事情并使用它:
google.maps.event.addListener(marker, 'click',
(function(marker_inner) {
return function() {
map.setZoom(9);
map.setCenter(marker_inner.getPosition());
}
})(marker)
);