Google Maps JS API v2
我对gmaps和Im使用v2相当陌生,因为我没有在v3中找到搜索功能。
我有一组数据,我想循环并将标记放在地图上=)
这似乎很容易,但我不能让它与V2一起工作......
这是我的数组格式和代码的样子:
function createMarkers(myLatLng,html) {
var marker = new GMarker(myLatLng, markerOptions);
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
var locations = [
["Bondi Beach",-33.890542,151.274856],
["Coogee Beach",-33.923036,151.259052],
["Cronulla Beach",-34.028249,151.157507],
["Manly Beach",-33.80010128657071,151.28747820854187],
["Maroubra Beach",-33.950198,151.259302]
];
for (var i = 0; i < location.length; i++) {
var locations = locations[i];
var myLatLng = new GLatLng(locations[1],locations[2]);
var dynamicmarker = createMarkers(myLatLng);
map.addOverlay(dynamicmarker);
}
海滩名得到位置位置[0],纬度位置位置位置[1]和位置位置位置[2]等等...
我没有使用海滩的名字作为“html”选项,但我只在屏幕上看到一个标记。 我检查了for循环,看起来是正确的,v3很容易让它工作。 但我需要有V2的搜索功能...
如果有人能给我一个小费或告诉我如何穿过阵列并让这些标记出现,我会非常感激!
您在for循环中似乎有几个问题。 首先location.length
应该是locations.length
。 然后你似乎在for循环中重新声明了一个locations
变量。 请记住,JavaScript没有块范围。
您可能想要尝试以下操作:
var i, myLatLng;
for (i = 0; i < locations.length; i++) {
myLatLng = new GLatLng(locations[i][1], locations[i][2]);
map.addOverlay(createMarkers(myLatLng));
}
链接地址: http://www.djcxy.com/p/81545.html