在Google maps v3的drawingManager中更改“drawingMode”

时间:2013-11-06 11:32:49

标签: 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
        ]
    }
    });

3 个答案:

答案 0 :(得分:12)

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

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

这将通过上述方法设置的覆盖当前使用的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

取自source

  

public final void setDrawingMode (OverlayType drawingMode)

     

更改DrawingManager的绘图模式,该模式定义了类型   要在地图上添加的叠加层。可接受的值是MARKER,POLYGON,   POLYLINE,RECTANGLE,CIRCLE或null。 null的绘制模式意味着   用户可以正常地与地图交互,而点击则不然   画任何东西。

答案 1 :(得分:2)

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

drawingManager.set('drawingMode');

答案 2 :(得分:2)

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

How to enable and disable the drawingControlOptions in Google Maps?