Как мне обрабатывать маркеры карты Google с информационными окнами, если их более 100

#javascript #google-maps

#javascript #google-карты

Вопрос:

Пример http://econym.org.uk/gmap/example_maptypecontrols2.htm

Допустим, у меня есть 100 маркеров с информационными окнами. Как мне с этим справиться?

Должен ли я перечислять этот код 100 раз в моем javascript?

   var point = new GLatLng(43.91892,-78.89231);
  var marker = createMarker(point,'Some stuff to display in the<br>Second Info Window')
  map.addOverlay(marker);

  var point = new GLatLng(43.82589,-79.10040);
  var marker = createMarker(point,'Some stuff to display in the<br>Third Info Window')
  map.addOverlay(marker);
  

Дайте мне знать

Ответ №1:

Вы могли бы создать массив с помощью JSON, который может быть сгенерирован на сервере и загружен асинхронно.

 { markers : [
    { lat : 43.91892, lon : -78.89231, html : "Stuff to display" },
    { lat : 43.91892, lon : -78.89231, html : "Stuff to display" },
    { lat : 43.91892, lon : -78.89231, html : "Stuff to display" },
    { lat : 43.91892, lon : -78.89231, html : "Stuff to display" }
  ]
}
  

Затем создайте функцию для создания ваших маркеров:

 function displayMarker(item){
    var point = new GLatLng(item.lat, item.lon);
    var marker = createMarker(point, item.html);
    map.addOverlay(marker);
}
  

Затем выполните цикл по вашему массиву элементов, вызывая эту функцию каждый раз.