一、思路
- 左键点击地球触发事件,获取点击后坐标,并将坐标传参到绘制点方法,绘制成红色点。
- 右键点击销毁事件。
- 设计清除点击按钮,删掉所有实体。
二、代码
// 创建点
function createpoint () {
var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
// 左键开启事件
handler.setInputAction(function (movement) {
//获取加载地形后对应的经纬度和高程,世界坐标系
let ray = viewer.camera.getPickRay(movement.position);
let position = viewer.scene.globe.pick(ray, viewer.scene);
let point = drawPoint(position);
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
//右键关闭事件
handler.setInputAction(function () {
// 销毁事件
handler.destroy();
handler = null;
}, Cesium.ScreenSpaceEventType.RIGHT_DOWN);
}
// 绘制点
function drawPoint (position) {
var pointGeometry = viewer.entities.add({
position: position,
point: {
color: Cesium.Color.RED,
pixelSize: 5,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
},
});
return pointGeometry;
}
// 清除实体
function clearAll () {
viewer.entities.removeAll();
}
三、效果图