Несмотря на то, что я не смог решить эту проблему с помощью API Карт Google, я создал обходной путь, который включает в себя вызов этого метода перед изменением масштаба или положения карты без взаимодействия с пользователем:
MapGraph.prototype.systemMove = function() {
var _this = this;
this.isMoving = true;
return setTimeout(function() {
return _this.isMoving = false;
}, 500);
};
А мои привязки событий выглядят так:
google.maps.event.addListener(this.map, 'dragend', function(event) {
if (!_this.isMoving) return _this.mapChanged();
});
Не идеально, но работает.
Хотелось бы увидеть любые другие реализации.