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

<!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>


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

最佳答案

这是一个基本问题,可以在网上找到几个示例。基本上,您需要一个数组来保存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,
    }));
  }
}

关于javascript - Google Maps API多个标记,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13890029/

10-16 21:17