zoom_changed активируется только один раз в API Карт Google версии 3, используя MVC - PullRequest
0 голосов
/ 22 апреля 2010

Я пытаюсь использовать объекты MVC в Картах Google версии 3. Похоже, я не могу понять, почему мой метод zoom_changed вызывается только один раз. Когда я впервые загружаю карту, вызывается метод zoom_changed. Но не когда я увеличиваю карту.

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

Разве объект карты не должен запускать событие масштабирования и уведомлять все объекты, которые имеют this.set ('zoom', this.map.zoom) "?

1 Ответ

1 голос
/ 22 апреля 2010

Нашел решение. Прочитайте мой комментарий к исходному сообщению.

Ссылочный комментарий ниже:

Нашли решение, нужно указать привязку, чтобы не устанавливать! то есть. this.bindTo ('zoom', this.map);

...