我试图在用户选择多边形绘制按钮以绘制新多边形时删除现有的多边形。
它与
信息: 页面加载时,绘图模式默认设置为多边形:
请问有人能帮帮我吗?以下是我的代码:
drawingManager.setMap(null);
有关,但我无法使其在我的代码中工作。我尝试了很多方法,但是无法解决它。信息: 页面加载时,绘图模式默认设置为多边形:
drawingMode: google.maps.drawing.OverlayType.POLYGON
用户可以绘制一个多边形来标记一个区域。当多边形完成时,DrawingMode 设置为 null:drawingManager.setDrawingMode(null);
并将坐标放入输入字段以便稍后通过表单将它们保存到数据库中。请问有人能帮帮我吗?以下是我的代码:
var map;
var drawingManager;
function initialize() {
var myLatlng = new google.maps.LatLng(51.51686166794058, 3.5945892333984375);
var mapOptions = {
zoom: 9,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
//Getting map DOM element
var mapElement = document.getElementById('map_canvas');
map = new google.maps.Map(map_canvas, mapOptions);
drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.POLYGON,
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [google.maps.drawing.OverlayType.POLYGON]
},
polygonOptions: {
editable: true,
draggable: true
}
});
drawingManager.setMap(map);
// Add a listener for creating new shape event.
google.maps.event.addListener(drawingManager, "overlaycomplete", function(event) {
var newShape = event.overlay;
newShape.type = event.type;
if(drawingManager.getDrawingMode()) {
drawingManager.setDrawingMode(null);
}
});
// Add a listener for the "drag" event.
google.maps.event.addListener(drawingManager, "overlaycomplete", function(event){
overlayDragListener(event.overlay);
$('#vertices').val(event.overlay.getPath().getArray());
});
}
function overlayDragListener(overlay) {
google.maps.event.addListener(overlay.getPath(), 'set_at', function(event){
$('#vertices').val(overlay.getPath().getArray());
});
google.maps.event.addListener(overlay.getPath(), 'insert_at', function(event){
$('#vertices').val(overlay.getPath().getArray());
});
}
google.maps.event.addDomListener(window, 'load', initialize);