我想获得它,所以我的DrawingManager只能选择平移并有一个多边形,但我无法弄清楚如何删除其余的选项(折线,方形,圆形)。{{ 3}}
我定义了我的DrawingManager并尝试删除了rectangleOptions和circleOptions,但似乎没有做任何事情。
var polyOptions = {
strokeWeight: 0,
fillOpacity: 0.45,
editable: true
};
drawingManager = new google.maps.drawing.DrawingManager({
markerOptions: {
draggable: true
},
polylineOptions: {
editable: true
},
polygonOptions: polyOptions,
map: map
});
这可能吗?
答案 0 :(得分:1)
查看sample in the documentation,从drawingModes
中删除您不想要的drawingControlOptions
:
var drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.MARKER,
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [
google.maps.drawing.OverlayType.POLYGON
]
},
});
drawingManager.setMap(map);
}
代码段
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {
lat: -34.397,
lng: 150.644
},
zoom: 8
});
var polyOptions = {
strokeWeight: 0,
fillOpacity: 0.45,
editable: true
};
var drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.MARKER,
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [
google.maps.drawing.OverlayType.POLYGON
]
},
markerOptions: {
draggable: true
},
polylineOptions: {
editable: true
},
polygonOptions: polyOptions,
});
drawingManager.setMap(map);
}
google.maps.event.addDomListener(window, "load", initMap);
html,
body,
#map {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js?libraries=drawing"></script>
<div id="map"></div>