|
|
@ -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(); |
|
|
|
// }); |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|