diff --git a/web/client/src/sections/quanju/containers/public/olMap.js b/web/client/src/sections/quanju/containers/public/olMap.js index 002d5dfa..4d50a3be 100644 --- a/web/client/src/sections/quanju/containers/public/olMap.js +++ b/web/client/src/sections/quanju/containers/public/olMap.js @@ -434,34 +434,35 @@ const OlMap = (props) => { useEffect(() => { if (busLine && olMap && tab == 'operation') { - olMap.addGeometryLayer({ - features: [ - { - name: 'busLine', - attributes: { - }, - geometry: busLine.map(b => { - return [b.pointLng, b.pointLat] - }), - // geometry: [115.944220000000, 28.545380000000], - geometryType: 'LineString', - style: { stroke: { width: 5, color: '#9933FF' } }, - selectStyle: { stroke: { width: 8, color: '#9933FF' } }, - }, - ], - style: { stroke: { width: 5, color: '#9933FF' } }, - selectStyle: { stroke: { width: 8, color: '#9933FF' } }, - layerName: 'geometry_bus_line' - }); if (busLine.length) { olMap.closeOverlay('clickOpen') + busRunData.forEach((d, index) => { + olMap.removeGeometryLayer('geometry_bus_' + index) + }) + olMap.addGeometryLayer({ + features: [ + { + name: 'busLine', + attributes: { + }, + geometry: busLine.map(b => { + return [b.pointLng, b.pointLat] + }), + // geometry: [115.944220000000, 28.545380000000], + geometryType: 'LineString', + style: { stroke: { width: 5, color: '#9933FF' } }, + selectStyle: { stroke: { width: 8, color: '#9933FF' } }, + }, + ], + style: { stroke: { width: 5, color: '#9933FF' } }, + selectStyle: { stroke: { width: 8, color: '#9933FF' } }, + layerName: 'geometry_bus_line' + }); olMap.setCenter([ (busLine[0].pointLng + busLine[busLine.length - 1].pointLng) / 2, (busLine[0].pointLat + busLine[busLine.length - 1].pointLat) / 2 ]) - busRunData.forEach((d, index) => { - olMap.removeGeometryLayer('geometry_bus_' + index) - }) + } else { drawBusRunPoint() } @@ -505,7 +506,7 @@ const OlMap = (props) => { // geometryType: 'Point', attributes: { callbackParams: {}, - callback: (p, x) => { + callback: (p, x) => { let extent = p?.selected[0]?.values_?.geometry?.flatCoordinates let coordinate = [] if (extent && extent.length) {