7

看这段代码:这是一个谷歌工具,可以在地图上创建一个面板,帮助我们绘制形状。通过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
        ]
    }
    });
4

3 回答 3

17

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

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

这将通过上述方法设置的一个覆盖当前使用的绘图模式。这遵循官方谷歌地图文档。

可接受的值

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

取自源代码

public final void setDrawingMode (OverlayType drawingMode)

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

于 2015-05-12T10:11:25.133 回答
3

这段代码对我有用。但我不知道这是否是标准方式?

drawingManager.set('drawingMode');
于 2013-11-06T11:43:17.693 回答
3

这是我的帖子。这将帮助你。我已经完成了以下操作。具有用于绘制三种不同形状的三种方法。(initiatePolygon()、initiateRectangle()、initiateCircle())

如何在 Google 地图中启用和禁用绘图控件选项?

于 2014-01-03T05:05:36.380 回答