Cesium JS:2d场景模式的中心地图

时间:2014-05-21 09:26:07

标签: javascript map cesium

我正在使用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);解释here。我也尝试过这次航班。

上述所有方法在3D场景模式下都很有效,但在2D场景中却不行。所以我尝试将我的相机放在我想要的3D中,然后用SceneModePickerViewModel.morphTo2D()切换到2D模式。仍然没有工作......

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

2 个答案:

答案 0 :(得分:2)

flyTo方法对我有用。我使用的是Cesium 1.37。

viewer.camera.flyTo({
    destination: Cesium.Cartesian3.fromDegrees(0.0, 0.0, 40000000),
    duration: 0
});

答案 1 :(得分:1)

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

尝试SCENE3DCOLUMBUS_VIEWviewRectangle - 对我有用。如果您在哥伦布视图中,请不要忘记添加camera.setPositionCartographic ( Cesium.Cartographic.fromDegrees(a,b,c));,其中a,b,c通常为-90,45,并且您可以选择少量,例如: 2定位地图的方向。