问题描述
我试图简单地单击地形上的一个点来获取其 3D 坐标,但我无法在 Cesium sandcastle 中使用它:
var viewer = new Cesium.Viewer('cesiumContainer',{
terrainProvider : Cesium.createWorldTerrain()
});
var scene = viewer.scene;
scene.camera.setView({
destination: Cesium.Cartesian3.fromDegrees(2.3488,48.8534,450),orientation: {
heading: Cesium.Math.toRadians(0),pitch: Cesium.Math.toRadians(-40),},});
var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
handler.setInputAction(function onLeftClick(movement) {
var ray = scene.camera.getPickRay(movement.position);
var pos = scene.globe.pick(ray,scene);
console.log("pos: ",pos);
},Cesium.ScreenSpaceEventType.LEFT_CLICK
);
每次点击都会执行该函数,但结果实际上是空的。
如何通过左键单击获取地形坐标?
示例灵感来自:https://cesium.com/docs/cesiumjs-ref-doc/Globe.html#pick 和 https://cesium.com/docs/tutorials/cesium-workshop/
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)