2016-07-05 4 views
-3

я установил свои маркеры как этотGoogle Maps API v3 - нацеливание маркеры

var marker, i; 
    var markers = []; 

    for (i = 0; i < locations.length; i++) { 
     marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
     map: map, 
     icon: 'img/markers/t1.png', 
      id: locations[i][3] 
     }); 

     markers.push(marker); 

     marker.addListener('mouseover', function() { 

     marker.setIcon("img/serve-bracket.png"); 
     }); 



} 
} 

Это только кажется, чтобы прикрепить обработчик события на последнем. Как добавить его ко всем маркерам

+0

http://stackoverflow.com/questions/2577417/how-to-get-all-markers-on-google-maps-v3 –

+0

@YagnikDetroja в том, что делает вопрос, что ссылка ответить OP еще? – MrUpsidown

+0

В следующий раз, пожалуйста, разместите правильный код с правильным отступом и следуйте инструкциям [MCVE] (http://stackoverflow.com/help/mcve). С более чем 2500 репутацией, вы должны знать об этом. – MrUpsidown

ответ

0

Вам необходимо обернуть ваш addListener в закрытии.

var marker, i; 
var markers = []; 

for (i = 0; i < locations.length; i++) { 
    marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
     map: map, 
     icon: 'img/markers/t1.png', 
     id: locations[i][3] 
    }); 

    google.maps.event.addListener(marker, 'mouseover', (function(marker, i) { 
     return function() { 
      marker.setIcon("img/serve-bracket.png"); 
     } 
    })(marker, i)); 

    markers.push(marker); 
} 
Смежные вопросы