如何更改地图(而不是标记)的 Google Maps 可拖动属性?

Posted

技术标签:

【中文标题】如何更改地图(而不是标记)的 Google Maps 可拖动属性?【英文标题】:How do I change the Google Maps draggable property for the map (not the marker)? 【发布时间】:2012-12-05 21:19:18 【问题描述】:

在Google Maps v3 reference 中,我看到有一种方法setDraggable(boolean) 可以应用于地图标记。 但是,我想在 ma​​p 上将 setDraggable 设置为 truenot 在地图标记上。 我已在 mapOptions 中将属性 draggable 设置为 false,但我不知道稍后如何将其设置为 true...map.setDraggable(true) 是否工作:

    // object literal for map options
    var myOptions =
    
        center: new google.maps.LatLng(37.09024, -95.712891),
        zoom: 4, // smaller number --> zoom out
        mapTypeId: google.maps.MapTypeId.TERRAIN,

        // removing all map controls
        disableDefaultUI: true,

        // prevents map from being dragged
        draggable: false,

        // disabling all keyboard shortcuts
        keyboardShortcuts: false,

        disableDoubleClickZoom: true,

        // do not clear the map div     
        noClear: true
    ;

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    map.setDraggable(true); // does NOT work!

【问题讨论】:

【参考方案1】:

试试:

map.setOptions(draggable: true);

【讨论】:

感谢@Marcelo,成功了!我不知道setOptions,以及以这种方式访问​​地图选项有多容易。 @Marcelo,非常感谢你! 已弃用。见developers.google.com/maps/documentation/javascript/…【参考方案2】:

我在本节中输入了我的代码,它可以在移动设备和桌面设备上运行

function initialize()
    
    var mapProp = 
      center:myCenter,
      zoom:5,
      draggable:false,
      mapTypeId:google.maps.MapTypeId.ROADMAP
      ;

【讨论】:

【参考方案3】:

setDraggable 未在 Map 类中使用。

用于:

标记类折线类多边形类矩形类 并在 Circle 类中。

在你的情况下,你可以简单地使用:

map.draggable = true;

【讨论】:

以上是关于如何更改地图(而不是标记)的 Google Maps 可拖动属性?的主要内容,如果未能解决你的问题,请参考以下文章

Android Google Map如何检查用户是不是在标记矩形区域

每 X 秒用 mysql 数据更新 google java map

在 google-map-react 中向 Google 地图添加标记

在Google Map中添加标记数组

如何设置Map(),setVisible()4000/5000的标记而不会在谷歌地图api V3中失去性能?

尝试使用通过EJS传递给客户端的数据绘制多个Google Map标记/信息窗口时,initMap()不是一个函数