看看这段代码:
这是一款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
]
}
});
答案 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?