В моем приложении Google Maps у меня есть следующий метод, который следует за движущимся маркером. Когда это происходит, я хочу разрешить масштабирование всех обычных методов (dblclick, dblleftclick, mousewheel и touch events), и я хочу отключить панорамирование любого типа. Проблема в том, что при масштабировании с помощью мыши и dblclick карта становится подмеченной в положение мыши. Я могу полностью отключить все, но я хочу разрешить масштабирование. Я решил проблему mousewheel, используя плагин jquery mousewheel и используя дельту для изменения масштаба.
Есть ли какой-нибудь простой способ сделать это или мне нужно написать прослушиватель для всех событий касания и мыши?
ИЗМЕНИТЬ
Я уже отключил двойной клик, масштабирование и перетаскивание мышью, но я хочу, чтобы функция двойного щелчка все еще была там. Я также хочу, чтобы события касались там, но я хочу, чтобы они увеличивали масштаб от центра, а не от того, где произошло событие. Реальная проблема заключается в том, чтобы реплицировать события, которые уже обрабатываются google, но немного изменить функциональность
var options = {
disableDoubleClickZoom: true,
draggable: false,
scrollwheel: false,
panControl: false
};
this.map = new google.maps.Map(document.getElementById('map'), options);
Мое идеальное решение было бы, если бы существовала опция disableDoubleClickPan
и disableScrollwheelPan
или draggable
, которая предотвращает все перетаскивания любого типа
ИЗМЕНИТЬ
Это для всех устройств, настольных и мобильных.