J'essaie d'utiliser les objets MVC dans Google Maps version 3. Ce que je n'arrive pas à comprendre, c'est pourquoi ma méthode zoom_changed
n'est appelée qu'une seule fois. Lorsque je charge la carte pour la première fois, la méthode zoom_changed
est invoquée. Mais pas quand je zoom sur la carte.zoom_changed ne déclenche qu'une seule fois dans l'API Google Maps version 3 en utilisant MVC
function MarkerWidget (options) {
this.setValues(options);
this.set('zoom', this.map.zoom);
var marker = new google.maps.Marker({
icon : this.icon,
mouseOverIcon : this.mouseOverIcon,
orgIcon : this.orgIcon
});
marker.bindTo('map', this);
marker.bindTo('position', this);
google.maps.event.addListener(marker, 'mouseover', this.onmouseover);
google.maps.event.addListener(marker, 'mouseout', this.onmouseout);
}
MarkerWidget.prototype = new google.maps.MVCObject();
MarkerWidget.prototype.zoom_changed = function() {
$.log(this, new Date());
}
pas Si l'objet carte déclenche l'événement de zoom et informer tous les objets qui a "this.set ('zoom', this.map.zoom)"?
Trouvé la solution, vous devez spécifier un bindTo pas défini! c'est à dire. this.bindTo ('zoom', this.map); – fredrik
Je suis content que vous l'ayez résolu. Vous pouvez afficher cette réponse et l'accepter. –