Browse Source

fix: 修复地图问题

sy-water-data-board-ui
panyuyi 10 months ago
parent
commit
f40cea1fb3
  1. 32
      src/views/components/SyMixMap.vue

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

Loading…
Cancel
Save