2016-05-04 7 views
0

Привет, я знаю, почему я не получаю свой адрес в содержании моих infowindows маркеров? в моем цикле перед geocoderstatus у меня есть моя информация о адресе, но после geocoderstatus.ok у меня есть неопределенный или только последний адрес моего массива.Javascript google maps foreach infowindows

 function geocodeAddress(resultsMap) { 
      // var address = document.getElementById('address').value; 

      var address = ["Brussel","Oostende","Brugge","Gent","Luik"]; 



      for(var i = 0; i < address.length;i++) 
      { 
       //new 
       var geocoder = new google.maps.Geocoder(); 

       var geooptions = { 
        address: address[i] 
       } 




       geocoder.geocode(geooptions, function (results, status) { 
        if (status === google.maps.GeocoderStatus.OK) { 
         // resultsMap.setCenter(results[0].geometry.location) 




         addMarker(resultsMap,address[i], results[0].geometry.location); 




        } else { 
         alert('Geocode was not successful for the following reason: ' + status); 
        } 
       }); 
      } 

     } 

     function addMarker(map,item,location) { 

console.log(item); 

      var marker= new google.maps.Marker({ 
       map: map, 
       position: location, //results[0].geometry.location, 
       title: item 
      }); 

      var infowindow = new google.maps.InfoWindow({ 
       content: item 
      }); 



      marker.addListener('click', function() { 
       infowindow.open(map, marker); 
      }); 

     } 

ответ

0

Я нашел решение, которое работает только с jquery.each. Wierd, потому что это точно так же, как цикл for.

для (элемент var по адресу) не работает ни потому, что тогда я получаю только индекс, а не значение.

это исправление проблемы $ (адрес) .each (функция (индекс, элемент)

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