我正在网站上实施谷歌地图,一切都很好,除了我在加载地图后似乎无法禁用滚轮。如果我在地图加载到滚轮之前设置了选项:false,则滚轮被禁用,但是如果我稍后尝试(我有一个启用/禁用滚轮的复选框)。
以下是我在页面加载时谷歌地图的选项:
var myOptions = {
zoom: 15,
center: currentPosition,
draggable: true,
scrollwheel: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById(“map_canvas”),myOptions);
然后在单击事件触发复选框后,我有以下代码来禁用滚轮。有趣的是,draggable = false正在工作,阻止我拖动地图。
var checked = $('#chkPin').is(':checked');
log("map active: " + checked);
if (checked) {
map.scrollwheel = false;
map.draggable = false;
map.zoomControl = false;
} else {
map.scrollwheel = true;
map.draggable = true;
map.zoomControl = true;
}
答案 0 :(得分:25)
不支持在Maps API对象上编辑未记录的属性,这可能会导致不可预测的结果。您不应该直接修改地图对象的属性。而是使用其中一个记录的选项修改属性:
map.setOptions({'scrollwheel': false});
map.set('scrollwheel', false);
var isScrollWheelEnabled = map.get('scrollwheel');
这两个选项在已经初始化之后成功禁用了地图的滚轮缩放。