我有可以编辑的多边形但是我需要一个选项来使相同的多边形静态,即用户不能编辑,这样我就可以在绘制的多边形内显示标记。
我尝试设置editable: false
,但这没有帮助
有办法做到这一点吗?
以下代码:
drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.POLYGON,
drawingControl: false,
polygonOptions: {
strokeWeight: 2,
fillOpacity: 0.2,
editable: true,
fillColor: '#FF0000',
strokeColor: '#FF0000',
geodesic: true,
suppressUndo: true
},
polylineOptions: {
editable: true,
suppressUndo: true
}
});
Onclick事件
$('#showRes').click(function(){
drawingManager.setDrawingMode(null);
drawingManager.setOptions({
polygonOptions: {
paths: pathArr,
strokeWeight: 2,
fillOpacity: 0.2,
editable: false,
fillColor: '#FF0000',
strokeColor: '#FF0000',
geodesic: true,
suppressUndo: true
}
});
}
答案 0 :(得分:3)
由于geocodezip提供了演示链接,我能够正常工作:
drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.POLYGON,
drawingControl: false,
polygonOptions: {
strokeWeight: 2,
fillOpacity: 0.2,
editable: true,
fillColor: '#FF0000',
strokeColor: '#FF0000',
geodesic: true,
suppressUndo: true
},
polylineOptions: {
editable: true,
suppressUndo: true
}
});
google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) {
myPolygon = polygon;
}
$('#showRes').click(function(){
drawingManager.setDrawingMode(null);
myPolygon.setOptions({ editable: false });
}
答案 1 :(得分:1)
我看到你在答案中使用了setOptions()
。
更直接地说,您可以使用setEditable(bool)
方法。