Я использую Google Maps API (v3), чтобы нарисовать несколько карт на странице. Одна вещь, которую я хотел бы сделать, это отключить масштабирование, когда вы прокручиваете колесо мыши над картой, но я не уверен, как.
Я отключил scaleControl (то есть удалил элемент масштабирования UI), но это не мешает масштабированию колесика прокрутки.
Вот часть моей функции (это простой плагин jQuery):
$.fn.showMap = function(options, addr){
options = $.extend({
navigationControl: false,
mapTypeControl: false,
scaleControl: false,
draggable: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
}, options);
var map = new google.maps.Map(document.getElementById($(this).attr('id')), options);
// Code cut from this example as not relevant
};
jquery
google-maps
google-maps-api-3
jquery-plugins
aaronrussell
источник
источник
Ответы:
В версии 3 API Карт вы можете просто установить
scrollwheel
значение false в свойствах MapOptions :Если бы вы использовали версию 2 API Карт, вам пришлось бы использовать вызов API disableScrollWheelZoom () следующим образом:
scrollwheel
Изменение масштаба по умолчанию включена в версии 3 API Карт, но в версии 2 он отключен , если явно не включен сenableScrollWheelZoom()
вызовом API.источник
disableDefaultUI: true
можно заменитьnavigationControl: false, mapTypeControl: false, scaleControl: false
Код Даниэля делает свою работу (спасибо, куча!). Но я хотел полностью отключить масштабирование. Я обнаружил, что для этого мне пришлось использовать все четыре варианта:
Смотрите: Спецификация объекта MapOptions
источник
scrollwheel
должен быть весь нижний регистр (только что поймал меня, обводя буквой W)На всякий случай, если вы хотите сделать это динамически;
Иногда вам нужно показать что-то «сложное» на карте (или карта является небольшой частью макета), и это масштабирование прокрутки попадает в середину, но если у вас есть чистая карта, этот способ масштабирования хорош.
источник
Будь проще! Оригинальная переменная Google maps, ничего лишнего.
источник
На данный момент (октябрь 2017 г.) Google реализовал специальное свойство для обработки увеличения / прокрутки, называемое
gestureHandling
. Его целью является управление работой мобильных устройств, но оно также изменяет поведение браузеров настольных компьютеров. Вот это из официальной документации :Короче говоря, вы можете легко установить для параметра «всегда масштабируемый» (
'greedy'
), «никогда не масштабируемый» ('none'
) или «пользователь должен нажать CRTL / ⌘ для включения масштабирования» ('cooperative'
).источник
Я создал более развитый плагин jQuery, который позволяет блокировать или разблокировать карту с помощью удобной кнопки.
Этот плагин отключает встроенный фрейм Google Maps с прозрачным оверлеем div и добавляет кнопку разблокировки. Вы должны нажать на 650 миллисекунд, чтобы разблокировать его.
Вы можете изменить все параметры для вашего удобства. Проверьте это на https://github.com/diazemiliano/googlemaps-scrollprevent
Вот несколько примеров.
источник
Edit in JSFiddle Result JavaScript HTML CSS
" действительно частью кода?В моем случае самое важное было установить
'scrollwheel':false
в init. Обратите внимание: я используюjQuery UI Map
. Ниже мой заголовок функции инициализации CoffeeScript :источник
На всякий случай вы используете библиотеку GMaps.js , которая упрощает выполнение таких задач , как геокодирование и пользовательские булавки. Вот как вы решаете эту проблему, используя приемы, полученные из предыдущих ответов.
источник
Для тех, кто интересуется, как отключить Javascript Google Map API
Он включит прокрутку масштабирования, если щелкнуть карту один раз. И отключите после того, как ваша мышь выйдет из div.
Вот пример
источник
Вам просто нужно добавить в опции карты:
источник
Простое решение:
Источник: https://github.com/Corsidia/scrolloff
источник
Просто, если кто-то заинтересован в чистом решении CSS для этого. Следующий код накладывает прозрачный div на карту и перемещает прозрачный div за карту при щелчке. Наложение предотвращает масштабирование, если щелкнуть его, и за картой включено масштабирование.
См. Мой пост в блоге Google maps с переключением масштаба с помощью css для объяснения того, как он работает, и ручкой codepen.io/daveybrown/pen/yVryMr для рабочей демонстрации.
Отказ от ответственности: это в основном для обучения и, вероятно, не будет лучшим решением для производственных сайтов.
HTML:
CSS:
источник
Используйте этот фрагмент кода, который даст вам все управление цветом и масштабированием карты Google. ( scaleControl: false и scrollwheel: false предотвратит увеличение или уменьшение колесика мыши )
источник
Я делаю это с помощью этих простых экзаменов
JQuery
CSS
Или используйте параметры gmap
источник