2017-01-25 2 views
-1

Я могу создавать маркеры в цикле, но я не могу добавлять метки в один и тот же цикл. Есть ли способ сделать это? Может ли кто-нибудь поделиться этим кодом? Ярлык должен быть SYD, MEL, PERTH, как в массиве.Ярлыки и маркеры API-интерфейсов Google Maps v3 в цикле

var cities = { 
'SYD'    :  [-21.459866  , 119.498334  ], 
'MEL'    :  [-26.233502  , 119.323756  ], 
'PERTH'    :  [-31.283012  , 119.444157  ] 
} 


for (var key in cities) { 
    var data = cities[key]; 
    var marker = new google.maps.Marker({ 
     position: new google.maps.LatLng (data[0], data[1]), 
     map: map, 
     icon: image, 
     title: 'test', 
    }); 

Не уверен в этом разделе

var label = new Label({ 
     map: map 
    }); 


    label.bindTo('position', marker, 'position'); 
    label.bindTo('text', marker, 'position'); 
+1

Привет и добро пожаловать на SO. Просьба представить [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve), чтобы мы могли воспроизвести проблему. – MrUpsidown

ответ

1
var cities = { 
'SYD'    :  [-21.459866  , 119.498334  ], 
'MEL'    :  [-26.233502  , 119.323756  ], 
'PERTH'    :  [-31.283012  , 119.444157  ] 
} 


function initialize() { 
    var bangalore = { lat: -21.459866, lng: 119.498334 }; 
    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 12, 
     center: bangalore 
    }); 

    // This event listener calls addMarker() when the map is clicked. 
    google.maps.event.addListener(map, 'click', function(event) { 
     addMarker(event.latLng, map); 
    }); 
    var cities = { 
     'SYD'    :  [-21.459866  , 119.498334  ], 
     'MEL'    :  [-21.456866  , 119.518334  ], 
     'PERTH'    :  [-21.457866  , 119.528334  ] 
    }; 
    for (var key in cities) { 
     var data = cities[key]; 
     var t={ lat: data[0], lng: data[1] }; 
     var marker = new google.maps.Marker({ 
      position: t, 
      label: key, 
      map: map 
     }); 
    } 
    // Add a marker at the center of the map. 
} 

Вы забыли добавить параметр метки в то время как создать маркер. Смотрите эту скрипку для исх https://jsfiddle.net/6ou0n2fk/

+0

Не могли бы вы объяснить, что делает ваш код и почему он исправит его проблему? Также вы не могли бы опубликовать полный, правильно отступы и рабочий код? – MrUpsidown

+0

Я сделал изменения @MrUpsidown – Murali

+0

Ваш код по-прежнему неполный (т. Е. Откройте цикл for, а не закрывайте его ...) и нет, вам не нужен ключ API, чтобы создать карту и маркер ... – MrUpsidown

-1

попробуйте этот код

function addMarker(myLatLng) { 
     var marker = new google.maps.Marker({ 
     position: myLatLng, 
     icon: icons['info'].icon, 
     map: map 
     }); 
    } 
for(i=0; i<data.length; i++){ 
      var myLatLng = {lat: parseFloat(data[i].lat), lng: parseFloat(data[i].lng)}; 

     addMarker(myLatLng); 

      // features.push([position: new google.maps.LatLng(23.0264288,72.5207211),type: 'info']; 
     } 
+0

Этот ответ задает вопрос ... – MrUpsidown

 Смежные вопросы

  • Нет связанных вопросов^_^