谷歌地图折线和标记在一起

时间:2012-04-19 22:14:42

标签: google-maps

我有折线的代码,这是完美的。如何为每个位置点添加标记?

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

马克似乎不见了?知道怎么样?感谢。

2 个答案:

答案 0 :(得分:4)

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

http://jsfiddle.net/nSf9N/

答案 1 :(得分:0)

您没有设置标记icon属性。

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