在Google maps v3的drawingManager中更改"drawingMode"

Use*_*Mat 5 javascript google-maps google-maps-api-3

看看这段代码:这是一个Google工具,可以在地图上创建一个面板,帮助我们绘制形状.通过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
        ]
    }
    });
Run Code Online (Sandbox Code Playgroud)

Ser*_*ski 14

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

drawingManager.setDrawingMode(google.maps.drawing.OverlayType.CIRCLE);
Run Code Online (Sandbox Code Playgroud)

这将通过上述方法设置的一个覆盖当前使用的drawingMode.这符合官方Google地图文档.

可接受的值

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
Run Code Online (Sandbox Code Playgroud)

取自来源:

公众最终无效setDrawingMode(OverlayType drawingMode)

更改DrawingManager的绘图模式,该模式定义要在地图上添加的叠加类型.可接受的值为MARKER,POLYGON,POLYLINE,RECTANGLE,CIRCLE或null.绘制模式为null意味着用户可以正常地与地图交互,并且点击不会绘制任何内容.