編集:配列が必要なときに単一の座標を渡すことに気付きました。チェックして更新します。
モデルを地面 (水) に配置する必要があります。
私が理解したように、( relativeToGround
KML のような) 相対的な高さはまだ実装されていません。したがって、今のところ最善の解決策は、地形プロバイダーに場所の地形の高さを尋ね、それに応じてモデルの高さを調整することです [ 1 ] (そして、詳細レベルの変更を何らかの方法で処理するよりも)。
Sandcastleの簡単な例を次に示します。場所の高さを取得しようとしています。その場所の地形の高さに変更することで解決さCesium.sampleTerrain
れる which を返すことを期待しています。しかし、それはただちに (同期的に?) 変更されていない入力 ( ) で解決されます。promise
Cartographic
height
height == 100
var viewer = new Cesium.Viewer('cesiumContainer');
viewer.terrainProvider =
new Cesium.CesiumTerrainProvider({ url : '//cesiumjs.org/stk-terrain/tilesets/world/tiles' })
// new Cesium.CesiumTerrainProvider({ url : '//cesiumjs.org/tilesets/terrain/smallterrain' })
// new Cesium.VRTheWorldTerrainProvider({ url : '//www.vr-theworld.com/vr-theworld/tiles1.0.0/73/' })
// new Cesium.EllipsoidTerrainProvider()
;
viewer.camera.flyTo({
destination: Cesium.Cartesian3.fromRadians(2.5269731598108605, -0.669099684580548, 100)
, duration: 0
});
Cesium.sampleTerrain(viewer.terrainProvider, 11, viewer.camera.positionCartographic.clone())
.then(function(x) { console.log(x) })
;
- コードの何が問題になっていますか?
- 代替アプローチはありますか?
ありがとうございました。