3

我有这个用于折线的代码,它工作得很好。如何为每个位置点添加标记?

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));
}
}

标记似乎不见了?知道怎么做吗?谢谢。

4

2 回答 2

5

我在这里用一些虚假数据进行了测试,似乎没有问题。不同之处在于我userCoorPath用于折线并userCoor设置标记。我正在重复这些信息,但它们的使用方式不同。一个是 LatLngs 数组,另一个是字符串数组和两个浮点数。

http://jsfiddle.net/nSf9N/

于 2012-04-19T22:44:23.973 回答
0

您没有设置标记icon属性。

此外,您正在覆盖标记变量。也许这与它有关。尝试在循环内移动您的标记变量定义。

于 2012-04-19T22:16:52.837 回答