【解决办法】蓝色点是定点,绿色点可以编辑Z值,如果想贴地时让绿色点的z值改变,需要实时获取该绿色点位处对应地形的高程,然后赋值给这个绿色点z。
获取地形高程关键代码如下:
var positions = [
new SuperMap3D.Cartographic.fromDegrees(103.064734, 31.12816),
new SuperMap3D.Cartographic.fromDegrees(103.064734, 31.12816)
];
SuperMap3D.when.all(SuperMap3D.sampleTerrainMostDetailed(viewer.terrainProvider, positions), function(samples) {
console.log(samples);
console.log("a");
});