| | |
| | | import { ArrowLineMaterialProperty } from '@/utils/cesium/Material' |
| | | import { flyVisual } from '@/utils/cesium/mapUtil' |
| | | |
| | | import { useStore } from 'vuex' |
| | | |
| | | let arrowLineMaterialProperty = new ArrowLineMaterialProperty({ |
| | | color: new Cesium.Color(128 / 255, 215 / 255, 255 / 255, 1), |
| | | directionColor: new Cesium.Color(1, 1, 1, 1), |
| | |
| | | }) |
| | | |
| | | export function useRouteLine () { |
| | | const store = useStore() |
| | | let viewer = null |
| | | let previewDataSource = null |
| | | |
| | |
| | | |
| | | resetCurRouteLineData() |
| | | |
| | | const { pointPlacemark, polygonList, templateType, startPoint, execute_height_mode, auto_flight_speed } = |
| | | const { pointPlacemark, polygonList, templateType, startPoint, execute_height_mode, auto_flight_speed, take_off_security_height } = |
| | | await analysisPointLineKmz(kmzUrl) |
| | | |
| | | curRouteLineData.value = { |
| | |
| | | execute_height_mode, |
| | | auto_flight_speed, |
| | | wayline_type, |
| | | take_off_security_height, |
| | | infos: infos |
| | | } |
| | | |
| | |
| | | }, |
| | | }) |
| | | |
| | | // 落点线 |
| | | ; (pointList || [])?.forEach((item, index) => { |
| | | const topPosition = Cesium.Cartesian3.fromDegrees(Number(item.longitude), Number(item.latitude), Number(item.height)) |
| | | let setting = { |
| | | position: topPosition, |
| | | polyline: getPolyLine(viewer, { value: pointList }, index), |
| | | } |
| | | previewDataSource.entities.add(setting) |
| | | }) |
| | | // 落点线 |
| | | ; (pointList || [])?.forEach((item, index) => { |
| | | const topPosition = Cesium.Cartesian3.fromDegrees(Number(item.longitude), Number(item.latitude), Number(item.height)) |
| | | let setting = { |
| | | position: topPosition, |
| | | polyline: getPolyLine(viewer, { value: pointList }, index), |
| | | } |
| | | previewDataSource.entities.add(setting) |
| | | }) |
| | | |
| | | // 终点 |
| | | previewDataSource.entities.add({ |
| | |
| | | height: 50, |
| | | }, |
| | | }) |
| | | |
| | | flyVisual( |
| | | pointList.map(i => [Number(i.longitude), Number(i.latitude), Number(i.height)]), |
| | | // 获取航线拆分所有点 |
| | | store.commit('setPositionsArr', pointList) |
| | | // 获取安全起飞高度 |
| | | store.commit('setSafeHeight', curRouteLineData.value.take_off_security_height) |
| | | flyVisual({ |
| | | positionsData:pointList.map(i => [Number(i.longitude), Number(i.latitude), Number(i.height)]), |
| | | viewer, |
| | | 20 |
| | | ) |
| | | multiple: 20 |
| | | }) |
| | | } |
| | | |
| | | function removePreviewLine () { |
| | |
| | | execute_height_mode: '', |
| | | auto_flight_speed: '', |
| | | wayline_type: '', |
| | | take_off_security_height: '' |
| | | } |
| | | } |
| | | |
| | |
| | | removePreviewLine, |
| | | resetCurRouteLineData |
| | | } |
| | | } |
| | | } |