| | |
| | | }) |
| | | } |
| | | // 绘制点 |
| | | function addPoint (viewer: any, id: string, longitude: number, latitude: number, label: string) { |
| | | export function addPoint (viewer: any, id: string, longitude: number, latitude: number) { |
| | | const entity = viewer.entities.add({ |
| | | position: Cesium.Cartesian3.fromDegrees(longitude, latitude), |
| | | id, |
| | |
| | | const handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas) |
| | | handler.setInputAction(function (click: any) { |
| | | 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) |
| | | if (pickedObject.id.label) { |
| | |
| | | } |
| | | |
| | | // 飞到项目中心点 |
| | | export function flyTo (viewer: any, longitude: number, latitude: number) { |
| | | // console.log() |
| | | const targetPosition = { longitude, latitude } |
| | | export function flyTo (viewer: any, longitude: number, latitude: number, height: number = 5000) { |
| | | const targetPosition = { longitude, latitude, height } |
| | | viewer.camera.flyTo({ |
| | | destination: targetPosition, |
| | | destination: Cesium.Cartesian3.fromDegrees(longitude, latitude, height), |
| | | duration: 2 |
| | | }) |
| | | } |
| | | |
| | | // 通过经纬度判断当前地图上是否有实体 |
| | | export function isEntityExist (viewer: any, longitude: number, latitude: number) { |
| | | const position = Cesium.Cartesian3.fromDegrees(longitude, latitude) |
| | | const pickedObject = viewer.scene.pick(position) |
| | | console.log(pickedObject, 'pickedObject') |
| | | if (Cesium.defined(pickedObject)) { |
| | | return true |
| | | } else { |
| | | return false |
| | | } |
| | | } |
| | | // 清除地图上的点 |
| | | export function clearAllPoint (viewer:any) { |
| | | // 获取Cesium场景对象 |
| | | const scene = viewer.scene |
| | | |
| | | // 获取场景中的所有图元 |
| | | const primitives = scene.primitives |
| | | |
| | | // 遍历图元数组 |
| | | primitives.forEach(function (primitive: any) { |
| | | // 判断图元是否为点集合 |
| | | if (primitive instanceof Cesium.PointPrimitiveCollection) { |
| | | // 移除所有点 |
| | | primitive.removeAll() |
| | | } |
| | | }) |
| | | } |