2013-12-05 3 views
0

Я хочу, чтобы элемент позволял говорить маркер при его нажатии. Событие клика мыши не отправляет объект отправителя. Я знаю, что это может быть достигнут с помощью:google maps получить элемент отправителя в событии click

var locMarker = new google.maps.Marker({ 
      map : map, 
      icon : icon, 
      position : point 
     }); 

     locMarker.id = (i + 1); 
     locMarker.clubID = clubid; 
     locMarker.clubName = clubname; 

     google.maps.event.addListener(locMarker, 'click', function(evt) { 
      console.log(evt); 
      console.log(locMarker); 
     }); 

Но этот путь я могу получить только evt, а не весь объект маркера, здесь я могу получить доступ к объекту маркеров, но если я объявляю нажмите функцию события где-нибудь еще, как это:

google.maps.event.addListener(locMarker, 'click', this.locationMarkerOnClick); 

тогда я получаю только evt, а не markerObject. Есть ли решение?

+1

вы пытаетесь получать? что я знаю точно проблемы ... –

+0

Я хочу получить объект 'locMarker' в моем случае –

+0

Вы хотите, чтобы вы получили маркер на карте –

ответ

1

Используйте ключевое слово this:

(function() { 
     var locMarker = new google.maps.Marker({ 
      map: map, 
      icon: icon, 
      position: point 
     }); 

     locMarker.id = (i + 1); 
     locMarker.clubID = clubid; 
     locMarker.clubName = clubname; 

     google.maps.event.addListener(locMarker, 'click', this.locationMarkerOnClick); 

    })(); 

    function locationMarkerOnClick(evt) { 
     console.log(this); // get (show in console) the marker itself 
     console.log(evt); // show the evt as expected 
    } 
+0

О, я полностью забыл об этом. –

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