我有一张可以绘制多边形的地图。当我开始绘制新的多边形时,我想删除以前绘制的多边形。
实际上:我在地图上同时只有一个多边形。代码一开始似乎可以工作。但是,在我在地图上使用滚动后,先前绘制的多边形会重新出现。
我使用 Vue.js,所以问题可能在于我错误地使用了 Vue API 或 google 地图 API。
这是我的代码:
const loader = new Loader({ apiKey: googleApiKey, libraries: ["drawing"] });
let map = ref(null);
const mapDiv = ref(null);
let oldShape = ref(null);
onMounted(async () => {
await loader.load();
map.value = new google.maps.Map(mapDiv.value, {
center: currentPosition.value,
zoom: 7,
});
const drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.POLYGON,
drawingControl: false,
polygonOptions: {
editable: true,
fillColor: "#ffff00",
},
});
drawingManager.setMap(map.value);
google.maps.event.addListener(drawingManager, "overlaycomplete", (event) => {
if (oldShape.value!==null) {
oldShape.value.setMap(null);
}
const shape = …Run Code Online (Sandbox Code Playgroud)