2015-02-12 2 views
-1

У меня есть функция, с которой я создаю новый объект «claster». В каждом кластере есть маркер из API Google Maps. Я хочу щелкнуть по этому маркеру и получить доступ к claster.icons []. Я связываю событие click в объявлении моей функции. Как это сделать?Google maps event - получить родительский элемент элемента clicked

КОД

function newClaster(_center){ 
     this.centerIco = _center; 
     this.center = this.centerIco.getPosition(); 
     this.icons = []; 
     this.icons.push(this.centerIco); 
     this.addIcon = function(_icon){this.icons.push(_icon)}; 
     this.marker = new google.maps.Marker({ 
      position : this.center, 
      icon : { 
       url : 'map/circle.png', 
       scaledSize : new google.maps.Size(40,40), 
       size : new google.maps.Size(40,40), 
      }, 
      map:map, 
     }); 
     this.setCenter = function(ctr){ 
      this.centerIco = ctr; 
      this.center = ctr.getPosition(); 
     } 
     this.findCenter = function(){ 
      this.centerIco = this.icons[parseInt((this.icons.length)%2)]; 
      this.center = this.centerIco.getPosition(); 
     } 

     google.maps.event.addListener(this.marker, 'click', function(){ 
      this.icons 
     }); 
    } 

Я связывании нажмите на маркер.

ответ

0

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

google.maps.event.addListener(this.marker, 'click', getIcons(this)); 

function getIcons(marker){ 
    console.log(marker.icons); 
} 
+0

Тогда я получаю эту ошибку: Uncaught TypeError: Не удается прочитать свойство «применить 'неопределенного. – Sko

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