簡體   English   中英

Google Maps JS API v2-簡單多個標記示例

[英]Google Maps JS API v2 - Simple Multiple Marker Example

我對使用v2的gmaps和Im相當陌生,因為我沒有在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],lng獲得位置位置[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));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM