Cesium 将相机飞到某个位置但保持相机高度
Cesium Fly Camera to Location but Maintain Camera Height
我想使用 flyTo() 并提供经纬度坐标,但要将相机保持在与当前表面相同的高度/缩放/距离。
我尝试在调用 flyTo 时使用 camera.position.z,但这似乎在每次调用 flyTo() 时都会越来越大。
有人知道如何实现吗?
你试过设置maximumHeight
吗?
var viewer = new Cesium.Viewer('cesiumContainer');
var scene = viewer.scene;
var height = 500000;
viewer.camera.setView({
destination: Cesium.Cartesian3.fromDegrees(50.0, 5.0, height)
});
setTimeout(function() {
viewer.camera.flyTo({
destination: Cesium.Cartesian3.fromDegrees(-117.16, 32.71, height),
maximumHeight: height
});
}, 2000);
我找到了解决问题的方法。
您需要通过以下方式获取相机的制图位置:
var currentPosition = viewer.camera.positionCartographic;
viewer.camera.setView({
destination: Cesium.Cartesian3.fromDegrees(50.0, 5.0, currentPosition.height)
});
我想使用 flyTo() 并提供经纬度坐标,但要将相机保持在与当前表面相同的高度/缩放/距离。
我尝试在调用 flyTo 时使用 camera.position.z,但这似乎在每次调用 flyTo() 时都会越来越大。
有人知道如何实现吗?
你试过设置maximumHeight
吗?
var viewer = new Cesium.Viewer('cesiumContainer');
var scene = viewer.scene;
var height = 500000;
viewer.camera.setView({
destination: Cesium.Cartesian3.fromDegrees(50.0, 5.0, height)
});
setTimeout(function() {
viewer.camera.flyTo({
destination: Cesium.Cartesian3.fromDegrees(-117.16, 32.71, height),
maximumHeight: height
});
}, 2000);
我找到了解决问题的方法。
您需要通过以下方式获取相机的制图位置:
var currentPosition = viewer.camera.positionCartographic;
viewer.camera.setView({
destination: Cesium.Cartesian3.fromDegrees(50.0, 5.0, currentPosition.height)
});