В моем приложении карт Google у меня есть метод отслеживания, который следует за движущимся маркером. Когда это происходит, я хочу разрешить масштабирование всеми обычными методами (dblclick, dblleftclick, колесиком мыши и событиями касания ), и я хочу отключить панорамирование любого рода. Проблема в том, что при масштабировании с помощью колесика мыши и dblclick карта перемещается в положение мыши. Я могу отключить все в порядке, но я хочу разрешить масштабирование. Я решил проблему с колесиком мыши, используя плагин 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
, которая фактически предотвращает любое перетаскивание
РЕДАКТИРОВАТЬ
Это для всех устройств, настольных и мобильных.