3

我正在使用 Cesium JS,我是初学者。我在 2D 场景模式下初始化了 Cesium,但我无法将地图居中。

这是我尝试过的:

var widget = new Cesium.CesiumWidget('cesiumContainer', {
    sceneMode : Cesium.SceneMode.SCENE2D
});
// try to center somewhere in Europe
widget.scene.camera.setPositionCartographic(Cesium.Cartographic.fromDegrees(10, 45, 500000));

我也尝试过这里scene.camera.viewRectangle(rectangle, ellipsoid);解释。我也试了飞机。

上述所有方法都适用于 3D 场景模式,但不适用于 2D。所以我试着把我的相机放在我想要的 3D 位置,然后切换到 2D 模式SceneModePickerViewModel.morphTo2D()。还是行不通...

我知道我错过了关于在 2D 场景模式下将地图居中的全部要点。谁能帮我?:)

4

2 回答 2

2

flyTo 方法对我有用。我正在使用铯 1.37。

viewer.camera.flyTo({
    destination: Cesium.Cartesian3.fromDegrees(0.0, 0.0, 40000000),
    duration: 0
});
于 2017-10-12T17:57:55.563 回答
1

如果您已完全缩小,则在 2D 模式下不支持居中(在某种意义上改变原点)地图。你可以看看论坛:https ://groups.google.com/forum/#!searchin/cesium-dev/centering/cesium-dev/rj2pDY1Hie8/hH2xJhIzCC0J

尝试SCENE3D, and COLUMBUS_VIEW, with viewRectangle- 对我有用。如果您在哥伦布视图中,请不要忘记添加 a camera.setPositionCartographic ( Cesium.Cartographic.fromDegrees(a,b,c));,其中 a、b、c 通常为 -90、45 和您选择的少量数字,例如 2 来确定地图的方向。

于 2014-10-31T20:55:15.930 回答