Witam,

Zrobiłem sobie prostą strukturę, do zarządzania mapami na stronie. Działa na zasadzie klasy, z odpowiednimi funkcjami. Chciałbym, aby po kliknięciu na mapę wykonywała się konkretna funkcja. Mam taki kod (dodam, że działam na GoogleMapsAPI v3):

Kod
this.b = function()
{
  alert('b');  
}

this.enableHomeMarker = function()
{
  google.maps.event.addListener(this.map, 'click', function(){
    alert('a');
    
    this.b();
  });
}


Po wywołaniu funkcji enableHomeMarker i kliknięciu na mapie, wyskakuje okienko z literką "a", jednak litera "b" już się nie pojawia, czyli funkcja nie jest wywoływana. Jak mogę temu zaradzić?

W wersji v2 była funkcja bind(), która pozwalała fajnie to zrobić. Wyglądało to wtedy mniej-więcej tak:

Kod
GEvent.bind(this.map, 'click', this, function(){
  alert('a');
      
  this.b();
});


Wtedy wszstko działało. Jak mogę obejść to i uruchomić zewnętrzną funkcję?

Z góry dziękują za odpowiedzi.