Я використовую Google Maps API (v3), щоб намалювати кілька карт на сторінці. Одна річ, яку я хотів би зробити, це відключити масштабування, коли ви прокручуєте колесо миші над картою, але я не впевнений, як це зробити.
Я відключив елемент керування масштабуванням (тобто видалив елемент інтерфейсу масштабування), але це не заважає масштабуванню колеса прокрутки.
Ось частина моєї функції (це простий плагін 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
};
У версії 3 Maps API ви можете просто встановити опцію scrollwheel
в false у властивостях MapOptions:
options = $.extend({
scrollwheel: false,
navigationControl: false,
mapTypeControl: false,
scaleControl: false,
draggable: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
}, options);
Якщо ви використовували версію 2 Maps API, вам потрібно було б використовувати виклик API disableScrollWheelZoom() наступним чином:
map.disableScrollWheelZoom();
Масштабування scrollwheel
за замовчуванням увімкнено у версії 3 Maps API, але у версії 2 воно вимкнене, якщо його не увімкнути явно за допомогою виклику enableScrollWheelZoom()
API.
Daniel's code робить свою роботу (величезне спасибі!). Але я хотів повністю вимкнути масштабування. Я виявив, що для цього потрібно використовувати всі чотири варіанти:
{
zoom: 14, // Set the zoom level manually
zoomControl: false,
scaleControl: false,
scrollwheel: false,
disableDoubleClickZoom: true,
...
}
Дивіться: Специфікація об'єкта MapOptions
У моєму випадку ключовим моментом було задати в init 'scrollwheel':false
. Зверніть увагу: Я використовую jQuery UI Map
. Нижче наведено заголовок моєї функції CoffeeScript init:
$("#map_canvas").gmap({'scrollwheel':false}).bind "init", (evt, map) ->