首页 / 浏览问题 / 三维GIS / 问题详情
getHeight获取高度为undefiend
gp
37EXP 2019年04月28日
scene.getHeight(lon, lat)获取出来的高度为undefiend,

然后用

Cesium.sampleTerrain(terrainProvider,18,Cesium.Cartesian3.fromDegrees(101.11119, 30.0111111)).then(res=>{ // console.log() this.warehousePointHeight=res })获取高度, 对取出来的值转化,Cesium.Cartographic.fromCartesian转化后,高度就成0了,但是获取出来的时候高度是有数据的

请问是什么问题导致这样的
问题关闭原因: 已解决

2 个回答

http://support.supermap.com.cn:8090/webgl/examples/editor.html#pickPosition

您可以参考一下这个示例,其中您也可以吧getHeight写在里面运行一下

6,215EXP 2019年04月28日
scene.getHeight(lon, lat)这个接口适用于拾取已加载完成的模型上的高度,不适用于地形,否则就容易报错。第二种方法获取出来的高度打印出来有具体的数值吗
1,063EXP 2019年04月28日
{x: -1055598.1934137186, y: 5419691.937711977, z: 3192692.178261237}这是具体数据
第二种开始打印的时候是有数值的,高度是3w多,然后用Cesium.Cartographic.fromCartesian转化后就成0了,我总感觉是3w那个数据有问题,但是不确定

三个参数都成0了?

http://support.supermap.com.cn:8090/webgl/examples/editor.html#viewshed3D

这里面这个有catesian转经纬度的方式。你参考看看

{longitude: 0.5237927008768172, latitude: 1.7647231761095652, height: 0}变成这个样子了,高度的值没有了

你添加一个这个Cartesian坐标下的实体,看是不是你点击的位置。http://support.supermap.com.cn:8090/webgl/examples/editor.html#pickPosition这个demo也可以拾取高度

...