javascript - 在谷歌地图 v3 的绘图管理器中更改 "drawingMode"

标签 javascript google-maps google-maps-api-3

看这段代码: 这是一个谷歌工具,可以在 map 上创建一个面板并帮助我们绘制形状。通过 drawingMode: google.maps.drawing.OverlayType.CIRCLE 我们可以指示在第一次加载时选择了哪个工具,但我想在程序中更改它。例如,我想通过单击按钮将 CIRCLE 更改为 POLYGON。我怎样才能做这样的事情?

drawingManager = new google.maps.drawing.DrawingManager({
    drawingMode: google.maps.drawing.OverlayType.CIRCLE,
    drawingControl: true,
    drawingControlOptions: {
        position: google.maps.ControlPosition.TOP_CENTER,
        drawingModes: [google.maps.drawing.OverlayType.CIRCLE,
        google.maps.drawing.OverlayType.RECTANGLE,
        google.maps.drawing.OverlayType.POLYGON
        ]
    }
    });

最佳答案

在您的情况下,如果您想将 drawingMode 更改为 CIRCLE,则必须使用以下 JavaScript:

drawingManager.setDrawingMode(google.maps.drawing.OverlayType.CIRCLE);

这会用上述方法设置的 drawingMode 覆盖当前使用的 drawingMode。这遵循官方 Google map 文档。

可接受的值

google.maps.drawing.OverlayType.MARKER
google.maps.drawing.OverlayType.POLYGON
google.maps.drawing.OverlayType.POLYLINE
google.maps.drawing.OverlayType.RECTANGLE
google.maps.drawing.OverlayType.CIRCLE

取自source :

public final void setDrawingMode(OverlayType drawingMode)

Changes the DrawingManager 's drawing mode, which defines the type of overlay to be added on the map. Accepted values are MARKER , POLYGON , POLYLINE , RECTANGLE , CIRCLE , or null . A drawing mode of null means that the user can interact with the map as normal, and clicks do not draw anything.

关于javascript - 在谷歌地图 v3 的绘图管理器中更改 "drawingMode",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19810997/

相关文章:

google-maps - 在 Google map V3 中,如何获得可拖动标记来平移 map ?

android - 使用数据库中的数据添加标记谷歌地图

javascript - 区分按钮组

javascript - jQuery 插件覆盖参数

javascript - 如何将元素的属性传递给 React 中的函数?

android - 如何在原生 Android 应用程序开发中使用 OpenStreetMap

javascript - 删除谷歌地点类型之间的逗号

javascript - Google Map API v3 ~ 只需关闭信息窗口?

javascript - JS 代码加载样式表。如何修改JS,在html中引用样式表?

javascript - 将类组件转换为函数组件时出错