diff --git a/src/views/components/SyMixMap.vue b/src/views/components/SyMixMap.vue index 3a4f18a..f3aa8a5 100644 --- a/src/views/components/SyMixMap.vue +++ b/src/views/components/SyMixMap.vue @@ -25,7 +25,11 @@ const viewerClick = (e) => { plot.edit(e.graphic, () => { console.log('编辑viewerClick >>>>> ', e.graphic, graphicsList) let res = graphicsList.find(item => item.graphicId === e.graphic.graphicId); - res.position = e.graphic.position; + console.log('res >>>>> ', res) + if(res){ + res.position = e.graphic.position; + res.positions = e.graphic.positions; + } viewerRemoveEventListener(); viewerAddEventListener(); }); @@ -45,9 +49,10 @@ const viewerRemoveEventListener = () => { const handleKeyUpFunc = (e) => { if (e.key === 'Delete') { if (currentGraphic) { + console.log('删除currentGraphic? >>>>> ', currentGraphic) plot.stop(); layer.removeGraphic(currentGraphic); - graphicsList = graphicsList.filter(item => item.id !== currentGraphic.id); + graphicsList = graphicsList.filter(item => item.graphicId !== currentGraphic.graphicId); } } }; @@ -131,8 +136,18 @@ export default { this.initMap(); }, 50); }, + beforeUnmount(){ + viewer = null + plot = null + layer = null + currentGraphic = null + graphicsList = [] + window.removeEventListener('keyup', handleKeyUpFunc) + }, methods: { initMap() { + graphicsList = [] + currentGraphic = null viewer = new sycim.Viewer("cesiumContainer01"); window.viewer = viewer; let baseLayer = sycim.ImageryLayerFactory.createImageryLayer( @@ -200,6 +215,7 @@ export default { }, // 根据传入的entries还原点线等 initEntries(entries){ + graphicsList = [] layer?.clear() if(!layer){ layer = new sycim.EntityLayer('layer').addTo(viewer) @@ -271,7 +287,6 @@ export default { // 画点线等 draw(type, iconName){ - console.log('draw---type >>>>> ', type, iconName) let plotOptions = { scale: 1, image: `/icons/${iconName}`, @@ -323,11 +338,12 @@ export default { positions: graphicItem.positions, icon: iconName, }); - plot.edit(graphicItem, () => { - graphicItem.setStyle({ noPushMid: true }); - viewerRemoveEventListener(); - viewerAddEventListener(); - }); + viewerAddEventListener(); + // plot.edit(graphicItem, () => { + // graphicItem.setStyle({ noPushMid: true }); + // viewerRemoveEventListener(); + // viewerAddEventListener(); + // }); } } },