我有这个折线的代码,可以完美地工作。如何为每个位置点添加标记?
var userCoor = [
<?php
for($i=0; $i<sizeOf($lat); $i++)
echo "new google.maps.LatLng({$lat[$i]}, {$long[$i]}),";
?>
];
var userCoordinate = new google.maps.Polyline({
path: userCoor,
strokeColor: "#FF0000",
strokeOpacity: 1,
strokeWeight: 2
});
userCoordinate.setMap(map);
我试过了
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < userCoor.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(userCoor[i][1], userCoor[i][2]),
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(userCoor[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
}
标记似乎丢失了吗?任何想法如何?谢谢。
最佳答案
我在这里测试了一些虚假数据,似乎没有问题。区别在于我在折线中使用userCoorPath
,在标记中使用userCoor
。我在重复这些信息,但是它们的使用方式有所不同。一个是LatLng数组,另一个是字符串数组和两个浮点数。
http://jsfiddle.net/nSf9N/