我在我的 Angular 项目中使用这个版本的 Angular Google Maps "@agm/core": "1.0.0-beta.2" 。我关心的是如何重新绘制我在谷歌地图上绘制的多边形,我正在存储纬度和经度,如何重新绘制我的多边形?在此处输入图像描述
<agm-map [latitude]="latitudeMapUpdate"
[longitude]="longitudeMapUpdate"
[disableDefaultUI]="false"
[zoom]="13"
(mapReady)="onMapReady($event)">
</agm-map>
onMapReady(map) {
this.initDrawingManager(map);
}
initDrawingManager(map: any) {
const self = this;
const options = {
drawingControl: true,
drawingControlOptions: {
drawingModes: ["polygon"]
},
polygonOptions: {
draggable: true,
editable: true
},
drawingMode: google.maps.drawing.OverlayType.POLYGON
};
const drawingManager = new google.maps.drawing.DrawingManager(options);
drawingManager.setMap(map);
google.maps.event.addListener(
drawingManager,
'overlaycomplete',
(event) => {
alert(event.overlay.getPath().getArray());
const paths = event.overlay.getPaths();
drawingManager.setDrawingMode(null);
self.updatePointList(event.overlay.getPath());
const newShape = event.overlay;
newShape.type = event.type;
google.maps.event.addListener(newShape, 'click', () => {
this.setSelectionPolygons(newShape)
});
this.setSelectionPolygons(newShape)
});
google.maps.event.addListener(drawingManager, 'drawingmode_changed', this.clearSelection);
google.maps.event.addListener(map, 'click', this.clearSelection);
google.maps.event.addDomListener(document.getElementById('delete-map-button'), 'click', this.deleteSelectedShape);
console.log({map});
}