如何在Google Maps V3中禁用/启用拖动、缩放和更改光标

6

如何禁用/启用“地图”对象中的拖动、缩放?另外,如何将光标更改为加号,然后再更改回默认值。

我尝试了以下方法,但都不起作用:

 map.google.maps.MapOptions.disableDoubleClickZoom = true;
map.google.maps.MapOptions.draggable = false;
2个回答

9

您有两个选项来设置地图选项:

map = new google.maps.Map({ draggable : false }); // upon initialization
map.setOptions({ draggable : false }); // or in runtime
  • 如果要禁用缩放功能,可以尝试使用minZoommaxZoom选项(将它们设置为与zoom选项相同的值),或者可以将zoomControl设置为false。

  • 如果要更改地图上显示的光标,请使用draggableCursor选项,例如:map.setOptions({ draggableCursor: 'crosshair' });。要恢复默认设置,只需将其设置为nullmap.setOptions({ draggableCursor: null });


这仍然保留了鼠标滚轮缩放功能。要禁用它,请使用选项scrollwheel: false => map.setOptions({ scrollwheel: false }); - Larzan
1
@Larzan,我认为我的观点“禁用缩放,您可以尝试使用minZoom和maxZoom选项”已经涵盖了这一点,不是吗? - Tomas
@TMS 很遗憾,如果您没有明确设置缩放比例,那么它就不会生效。在我的情况下,我有很多点,并使用“fitBounds”来调整缩放以包含所有标记。这意味着我不知道实际使用的缩放比例,也无法使用最小值和最大值 :) 因此,scrollwheel: false 是我唯一可行的选项。 - Larzan

0
如果您想禁用地图上的大部分操作,请使用以下方法:
    mapOptions: {
    disableDefaultUI : true,
    clickableIcons: false,
    gestureHandling: 'none',
    draggableCursor: 'arrow' //use the arrow default pointer ;)
  }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接