我的谷歌地图V3有问题 代码是谷歌的一部分示例。我想将侦听器添加到EACH标记,因此我将标记设置为数组。但它没有工作:( 谁能帮我?
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
// Add 10 markers to the map at random locations
var bounds = map.getBounds();
var southWest = bounds.getSouthWest();
var northEast = bounds.getNorthEast();
var lngSpan = northEast.lng() - southWest.lng();
var latSpan = northEast.lat() - southWest.lat();
var marker = new Array(10);
for (var i = 0; i < 10; i++) {
var latlng = new GLatLng(southWest.lat() + latSpan * Math.random(),
southWest.lng() + lngSpan * Math.random());
marker[i] = new GMarker(latlng,{ draggable: true });
GEvent.addListener(marker[i] , "dragstart", function() {
map.closeInfoWindow();
});
GEvent.addListener(marker[i] , "dragend", function() {
marker[i].openInfoWindowHtml("text" + i);
});
map.addOverlay(marker[i] );
}
}
}
答案 0 :(得分:0)
不推荐使用Google Maps v2 API,您应该使用 v3 。使用新API查看此工作示例:Google Maps JS API v3 - Simple Multiple Marker Example
答案 1 :(得分:0)
这看起来像Google映射api V2代码。
GLatLng
替换为google.maps.LatLng
,GEvent
替换为google.maps.event
map.addOverlay(marker[i]);
,请在V3中执行marker[i].setMap(map);
。其余的,请务必阅读API documentation。那里有很多例子可以帮助你开始。