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

上一篇: Google Maps JS API v2

下一篇: fit (fitBounds) with complex KML