diff --git a/src/views/xuncha/components/patroLogDetails.vue b/src/views/xuncha/components/patroLogDetails.vue index 3482fe2..91b0b0d 100644 --- a/src/views/xuncha/components/patroLogDetails.vue +++ b/src/views/xuncha/components/patroLogDetails.vue @@ -204,44 +204,40 @@ }; //添加轨迹线 const addRecordLine = (geojson, layerId) => { - newfiberMap.map.on('style.load', () => { - newfiberMap.map.addSource(layerId, { - type: 'geojson', - data: geojson, - }); - newfiberMap.map.addLayer({ - id: layerId, - type: 'line', - source: layerId, - paint: { - 'line-color': 'rgba(35, 217, 110,1)', - 'line-width': 3, - }, - }); + newfiberMap.map.addSource(layerId, { + type: 'geojson', + data: geojson, + }); + newfiberMap.map.addLayer({ + id: layerId, + type: 'line', + source: layerId, + paint: { + 'line-color': 'rgba(35, 217, 110,1)', + 'line-width': 3, + }, }); }; //添加轨迹起止点 const addStartAndEnd = (geojson, layerId, Icon) => { - newfiberMap.map.on('style.load', () => { - newfiberMap.map.loadImage(Icon, (error, image) => { - if (error) throw error; - newfiberMap.map.addImage(layerId + 'icon', image); - }); - newfiberMap.map.addSource(layerId, { - type: 'geojson', - data: geojson, - }); - newfiberMap.map.addLayer({ - id: layerId, - type: 'symbol', - source: layerId, - layout: { - 'icon-image': layerId + 'icon', - 'icon-size': 0.2, - 'icon-offset': [0, 0], - 'icon-allow-overlap': true, - }, - }); + newfiberMap.map.loadImage(Icon, (error, image) => { + if (error) throw error; + newfiberMap.map.addImage(layerId + 'icon', image); + }); + newfiberMap.map.addSource(layerId, { + type: 'geojson', + data: geojson, + }); + newfiberMap.map.addLayer({ + id: layerId, + type: 'symbol', + source: layerId, + layout: { + 'icon-image': layerId + 'icon', + 'icon-size': 0.2, + 'icon-offset': [0, 0], + 'icon-allow-overlap': true, + }, }); }; //照片弹框 @@ -284,7 +280,16 @@ }; onMounted(() => { getData(); - getDatatwo(); + + setTimeout(() => { + getDatatwo(); + if (newfiberMap.map.getLayer('currentPosition')) { + newfiberMap.map.removeLayer('currentPosition'); + newfiberMap.map.removeLayer('currentLine'); + newfiberMap.map.removeSource('currentPosition'); + newfiberMap.map.removeSource('currentLine'); + } + }, 1000); });