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();
});
}
{
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();
});
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.