| | |
| | | // 删除地图中所有标识点 |
| | | viewer.entities.removeAll() |
| | | if (longitudeList.length === 0) return |
| | | longitudeList.forEach((item: { id:string, longitude: number; latitude: number, label: string }) => { |
| | | longitudeList.forEach((item: { id: string, longitude: number; latitude: number, label: string }) => { |
| | | addPoint(viewer, item.id, item.longitude, item.latitude, item.label) |
| | | }) |
| | | } |
| | | // 绘制点 |
| | | function addPoint (viewer: any, id:string, longitude: number, latitude: number, label: string) { |
| | | function addPoint (viewer: any, id: string, longitude: number, latitude: number, label: string) { |
| | | const entity = viewer.entities.add({ |
| | | position: Cesium.Cartesian3.fromDegrees(longitude, latitude), |
| | | id, |
| | |
| | | const pickedObject = viewer.scene.pick(click.position) |
| | | console.log(pickedObject, 'pickObject') |
| | | if (Cesium.defined(pickedObject)) { |
| | | const list = longitudeList.filter((v: { id:string, longitude: number; latitude: number; }) => v.id === pickedObject.id.id) |
| | | const list = longitudeList.filter((v: { id: string, longitude: number; latitude: number; }) => v.id === pickedObject.id.id) |
| | | if (pickedObject.id.label) { |
| | | pickedObject.id.label = null |
| | | } else { |
| | |
| | | } |
| | | } |
| | | |
| | | // const point = pickedObject.id.point |
| | | // |
| | | // const point = pickedObject.id.point |
| | | // |
| | | } |
| | | } |
| | | , Cesium.ScreenSpaceEventType.LEFT_CLICK) |
| | | // handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK) |
| | | } |
| | | |
| | | // 飞到项目中心点 |
| | | export function flyTo (viewer: any, longitude: number, latitude: number) { |
| | | // console.log() |
| | | const targetPosition = { longitude, latitude } |
| | | viewer.camera.flyTo({ |
| | | destination: targetPosition, |
| | | }) |
| | | } |