前提:需要在Cesium-地图的点上添加左键的点击事件,并要求在点点击时才可触发,点击其他地方时不需要触发
解决过程:
1.先有点(在Cesium-地图打点在这里不做多余赘述,请移步博主其他文章进行了解)
2.点在打点时会写进该航点信息,在点击点时已经携带,可通过该信息判断是否点击的是点
3.确定是点后,建立点击事件
解决结果:
onMounted(() => {
handlePoint = new Cesium.ScreenSpaceEventHandler(window.cesium.viewer.scene.canvas);
handlePoint.setInputAction(function (event) {
let pick = window.cesium.viewer.scene.pick(event.position)
if(!pick){
return
}
//用以下条件判断只有点击到点上才会触发此动作
if(pick&&pick.id&&pick.id.pointData){
console.log('进行点击')
//可以在这里去写点击后需要执行什么
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
})