3
사용자가 새 다각형 그리기 버튼을 선택할 때 기존 다각형을 제거하려고합니다. drawingManager.setMap(null);
으로 뭔가를해야하지만 내 코드에서 제대로 작동하지 않습니다. 나는 많은 것을 시도했지만 그것을 이해할 수 없습니다.Google지도에서 다각형을 그리고 이전 하나를 삭제합니다.
정보 : 페이지가 drawingmode은 기본적으로 다각형으로 설정로드 : drawingMode: google.maps.drawing.OverlayType.POLYGON
사용자는 영역을 표시하는 다각형을 그릴 수 있습니다. 다각형이 완료되면 DrawingMode는 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);
당신에게 너무 많은 geocodezip 감사드립니다! 매우 감사!!! – Matt