0

我正在使用以下代码显示谷歌地图并在地图上创建一个标记。它运作良好。我只需要在同一张地图上放置多个标记。

<!DOCTYPE html>
<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?    
key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>

<script>
var myCenter=new google.maps.LatLng(51.508742,-0.120850);

function initialize()
{
var mapProp = {
center:myCenter,
zoom:5,
mapTypeId:google.maps.MapTypeId.ROADMAP
};

var map=new google.maps.Map(document.getElementById("googleMap"),mapProp);

var marker=new google.maps.Marker({
position:myCenter,
});

marker.setMap(map);

var infowindow = new google.maps.InfoWindow({
content:"Hello World!"
});

infowindow.open(map,marker);
}

google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body> 
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
</html>

谁能帮助我通过使用多个地址在同一张地图上放置多个标记。谢谢

4

1 回答 1

4

这是一个基本问题,可以在网上找到几个示例。您基本上需要一个数组来保存各种标记 lat lng。然后使用循环将这些 latlng 放置在地图上,就像使用一个标记一样。

var berlin = new google.maps.LatLng(52.520816, 13.410186);
var neighborhoods = [
new google.maps.LatLng(52.511467, 13.447179),
new google.maps.LatLng(52.549061, 13.422975),
new google.maps.LatLng(52.497622, 13.396110),
new google.maps.LatLng(52.517683, 13.394393)
];
var markers = [];
var map;

function initialize() {
var mapOptions = {
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: berlin
};
map = new google.maps.Map(document.getElementById('map_canvas'),
mapOptions);
drop();
}

function drop() {
 for (var i = 0; i < neighborhoods.length; i++) 
  {
    markers.push(new google.maps.Marker({
    position: neighborhoods[i],
    map: map,
    }));
  }
}
于 2012-12-15T06:55:48.230 回答