Cesium點擊拾取模型高度
需求-點擊時存在模型則點擊事件獲取模型高度,沒有模型時獲取地形高度
版本cesium 1.7.0 ,vue 2.5x ,開啟Cesium地形服務
代碼
viewer.screenSpaceEventHandler.setInputAction(function (clickEvent) {
var ray1 = viewer.camera.getPickRay(clickEvent.position);
var cartesian = viewer.scene.globe.pick(ray1, viewer.scene);
console.log('地形高度點',cartesian);
var pick = viewer.scene.pickPosition(clickEvent.position);
var pickModel = viewer.scene.pick(clickEvent.position);
if (pickModel && pick && !pickModel.id) {
var height = Cesium.Cartographic.fromCartesian(pick).height;
var lat = Cesium.Math.toDegrees(Cesium.Cartographic.fromCartesian(pick).latitude);
var lng = Cesium.Math.toDegrees(Cesium.Cartographic.fromCartesian(pick).longitude);
cartesian = Cesium.Cartesian3.fromDegrees(lng, lat, height);
console.log('模型高度點',cartesian);
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
本文轉自 https://blog.csdn.net/wo_buzhidao/article/details/106636282?spm=1001.2014.3001.5502,如有侵權,請聯系刪除。