| | |
| | | import { useDockControl } from './use-dock-control' |
| | | import { flyByArea, Point } from '/@/api/wayline' |
| | | import { parseJsonFile } from '/@/utils/geo-utils' |
| | | |
| | | import { cesiumOperation } from '/@/hooks/use-cesium-tsa' |
| | | import * as Cesium from 'cesium' |
| | | const props = defineProps<{ |
| | | sn: string, |
| | | deviceInfo: DeviceInfoType, |
| | | payloads: null | PayloadInfo[], |
| | | modelValue: Boolean, |
| | | }>() |
| | | |
| | | const cesiumFunc = cesiumOperation() |
| | | |
| | | const store = useMyStore() |
| | | const clientId = computed(() => { |
| | |
| | | lat: props.deviceInfo.dock.basic_osd.latitude |
| | | }) |
| | | const deviceSn = props.deviceInfo.dock.basic_osd.sub_device?.device_sn |
| | | const jsonData = await parseJsonFile('../src/assets/jsonData/图斑_FeaturesToJSON(1).json') |
| | | const jsonPath = 'src/main/resources/jkj(1).json' |
| | | const sn = props.sn |
| | | const features = jsonData.features |
| | | const list = [] |
| | | |
| | | features.forEach(feature => { |
| | | const areaList = [] |
| | | feature.geometry.coordinates[0].forEach(areaPoint => { |
| | | console.log('areaPoint:', areaPoint) |
| | | const point = { |
| | | lon: areaPoint[0], |
| | | lat: areaPoint[1] |
| | | console.log(payloadSelectInfo, '-------------') |
| | | const payloadIndex = payloadSelectInfo.payloadIndex |
| | | // const jsonData = await parseJsonFile('../src/assets/jsonData/jkj(1).json') |
| | | |
| | | // const features = jsonData.features |
| | | // const list = [] |
| | | |
| | | // features.forEach(feature => { |
| | | // const areaList = [] |
| | | // feature.geometry.coordinates[0].forEach(areaPoint => { |
| | | // console.log('areaPoint:', areaPoint) |
| | | // const point = { |
| | | // lon: areaPoint[0], |
| | | // lat: areaPoint[1] |
| | | // } |
| | | // areaList.push(point) |
| | | // }) |
| | | // list.push(areaList) |
| | | // }) |
| | | |
| | | flyByArea(sn, dockPoint, jsonPath, radius, deviceSn, payloadIndex).then(res => { |
| | | const targetPoint = res.data |
| | | // 获取到点之后在图上绘点 |
| | | targetPoint.forEach((point, index) => { |
| | | const setting = { |
| | | longitude: point.lon, |
| | | latitude: point.lat, |
| | | point: { |
| | | pixelSize: 8, |
| | | outlineWidth: 2, |
| | | color: Cesium.Color.RED, |
| | | outlineColor: Cesium.Color.BLACK, |
| | | }, |
| | | label: { |
| | | text: '位置' + (index + 1), |
| | | outlineWidth: 20, |
| | | font: '14px sans-serif', |
| | | heightReference: 80, |
| | | pixelOffset: new Cesium.Cartesian2(0, -35), |
| | | fillColor: Cesium.Color.BLACK |
| | | }, |
| | | id: 'target' + index, |
| | | } |
| | | areaList.push(point) |
| | | }) |
| | | list.push(areaList) |
| | | }) |
| | | |
| | | flyByArea(sn, dockPoint, list, radius, deviceSn).then(res => { |
| | | console.log(res, '----------------') |
| | | cesiumFunc.addPoint(setting) |
| | | }) |
| | | }) |
| | | } |
| | | |