|
|
@ -15,7 +15,6 @@ import {
|
|
|
|
CallbackProperty,
|
|
|
|
CallbackProperty,
|
|
|
|
PolylineDashMaterialProperty,
|
|
|
|
PolylineDashMaterialProperty,
|
|
|
|
Cartesian2,
|
|
|
|
Cartesian2,
|
|
|
|
HeightReference,
|
|
|
|
|
|
|
|
} from 'cesium'
|
|
|
|
} from 'cesium'
|
|
|
|
import {
|
|
|
|
import {
|
|
|
|
cartesian2ToCartesian3,
|
|
|
|
cartesian2ToCartesian3,
|
|
|
@ -29,6 +28,7 @@ import { getDistance } from '@/utils/map/geocomputation.ts'
|
|
|
|
import { Angle } from '@/utils/map/angle.ts'
|
|
|
|
import { Angle } from '@/utils/map/angle.ts'
|
|
|
|
import { TextLabel } from '@/utils/map/geometry/textLabel.ts'
|
|
|
|
import { TextLabel } from '@/utils/map/geometry/textLabel.ts'
|
|
|
|
import { EntityOptions } from '@/types/entityoptions.ts'
|
|
|
|
import { EntityOptions } from '@/types/entityoptions.ts'
|
|
|
|
|
|
|
|
import {profileAnalyse} from "@/utils/map/SpatialAnalysis.ts";
|
|
|
|
|
|
|
|
|
|
|
|
export default class CreatePolyline {
|
|
|
|
export default class CreatePolyline {
|
|
|
|
viewer: Viewer
|
|
|
|
viewer: Viewer
|
|
|
@ -44,6 +44,7 @@ export default class CreatePolyline {
|
|
|
|
positions: Cartesian3[] = []
|
|
|
|
positions: Cartesian3[] = []
|
|
|
|
bMove: boolean = false
|
|
|
|
bMove: boolean = false
|
|
|
|
bMeasure: boolean | undefined = false //是否处于测距模式
|
|
|
|
bMeasure: boolean | undefined = false //是否处于测距模式
|
|
|
|
|
|
|
|
bProfile: boolean | undefined = false //是否处于测距模式
|
|
|
|
totalDistance: number = 0
|
|
|
|
totalDistance: number = 0
|
|
|
|
bLongClick: boolean = false
|
|
|
|
bLongClick: boolean = false
|
|
|
|
clickTimeout: any
|
|
|
|
clickTimeout: any
|
|
|
@ -127,9 +128,7 @@ export default class CreatePolyline {
|
|
|
|
const n = this.positions.length - 1
|
|
|
|
const n = this.positions.length - 1
|
|
|
|
const ptArr = [oldPosition, cartesian3]
|
|
|
|
const ptArr = [oldPosition, cartesian3]
|
|
|
|
this.vDashLinePosition[n] = ptArr
|
|
|
|
this.vDashLinePosition[n] = ptArr
|
|
|
|
this.viewer.entities.add(
|
|
|
|
this.viewer.entities.add(this.createTrackingLine(this.vDashLinePosition[n], Color.WHITE))
|
|
|
|
this.createTrackingLine(this.vDashLinePosition[n], Color.WHITE),
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
//添加地表控制点
|
|
|
|
//添加地表控制点
|
|
|
|
const groundControlPoint = new PointEntity(this.vDashLinePosition[n][0])
|
|
|
|
const groundControlPoint = new PointEntity(this.vDashLinePosition[n][0])
|
|
|
|
this.viewer.entities.add(groundControlPoint)
|
|
|
|
this.viewer.entities.add(groundControlPoint)
|
|
|
@ -233,7 +232,7 @@ export default class CreatePolyline {
|
|
|
|
)
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//创建追踪线
|
|
|
|
//创建追踪线
|
|
|
|
createTrackingLine(positions: Cartesian3[]) {
|
|
|
|
createTrackingLine(positions: Cartesian3[],color: Color=Color.GREEN) {
|
|
|
|
return new Entity({
|
|
|
|
return new Entity({
|
|
|
|
polyline: {
|
|
|
|
polyline: {
|
|
|
|
positions: new CallbackProperty(() => {
|
|
|
|
positions: new CallbackProperty(() => {
|
|
|
|