Итерация по маркерам карты - PullRequest
0 голосов
/ 18 декабря 2018

Я хочу поместить маркеры в определенные города, которые я выбрал, но мне нужно сделать это в цикле for, ручное выполнение процесса отнимает много времени и выглядит довольно некрасиво в коде.Любые советы, как правильно использовать цикл for?Что я здесь не так делаю?

var izmir = {lat: 38.4237, lng: 27.1428};
  var amsterdam = {lat: 52.3680, lng: 4.9036};
  function initMap() {
    var map = new google.maps.Map(document.getElementById('map'), {zoom: 4,
      center: izmir});
      var map = new google.maps.Map(document.getElementById('map'), {zoom: 4,
        center: amsterdam});
        var i;
        for(i=0;i.length;i++)
        {
           nokta = new google.maps.Marker({position: izmir,amsterdam, map: map});
        }
    }

РЕДАКТИРОВАТЬ: Я думаю, я частично достиг того, что я хотел, единственная проблема в том, что маркер используется только последней записи, в данном случае это Прага.Если я изменю его на другой город (например, Амстердам), карта центрируется на Амстердаме, а маркер используется только Амстердамом.Как я могу использовать маркер на всех?

 var sehirler = {
    'izmir': {lat: 38.4237, lng: 27.1428},
    'amsterdam': {lat: 52.3680, lng: 4.9036},
    'prague': {lat: 50.0755, lng: 14.4378}};
function initMap() {

  for (var sehir in sehirler)
  {
    var map = new google.maps.Map(document.getElementById('map'),
    {zoom: 4, center: sehirler[sehir]});
      var marker = new google.maps.Marker({position: sehirler[sehir], map: map});
  }
} 

1 Ответ

0 голосов
/ 18 декабря 2018

РЕДАКТИРОВАНИЕ, основанное на обсуждении ниже

это то, что вы ищете?

// initialize object containing all cities
var sehirler = {
    izmir: { lat: 38.4237, lng: 27.1428 },
    amsterdam: { lat: 52.368, lng: 4.9036 },
    prague: { lat: 50.0755, lng: 14.4378 }
};

function initMap() {
    // initialize main map
    var center = sehirler.CITY // <-- edit CITY to be the correct city
    var map = new google.maps.Map(document.getElementById('map'), { zoom: 4, center: center });

    // iterate throughout cities to put all markers on same map
    for (var sehir in sehirler) {
        var marker = new google.maps.Marker({ position: sehirler[sehir], map: map });
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...