cesium js 路径_如何设置默认视图位置(Cesium 1.6)

I want to set the default view/home location for a cesium app.

I don't just want to flyTo the location once; I want the location set as the default/home - so that it can be used elsewhere in the app - e.g. in the HomeButton Widget.

I've tried setting the Camera.DEFAULT_VIEW_RECTANGLE (docs here) like this:

var extent = Cesium.Rectangle.fromDegrees(117.940573,-29.808406,118.313421,-29.468825);

viewer.camera.DEFAULT_VIEW_RECTANGLE = extent;

But it doesn't work..

For completeness, here's how I'm initializing the app:

var viewer = new Cesium.Viewer('cesiumContainer', {

terrainProvider : new Cesium.CesiumTerrainProvider({

url : '//cesiumjs.org/stk-terrain/tilesets/world/tiles'

}),

mapProjection : new Cesium.WebMercatorProjection(),

timeline: false,

animation: false,

});

Any suggestions?

If any further info is needed please let me know.

解决方案

DEFAULT_VIEW_RECTANGLE is a static property on Cesium.Camera. This way, you can assign the value before Viewer is constructed, and then newly constructed widgets will initialize to your custom default view rectangle.

EDIT: Also, be aware of Camera.DEFAULT_VIEW_FACTOR. You can set this to zero, to make the default view match your rectangle exactly. Its default value will make your default view stand well back from your chosen rectangle.

var extent = Cesium.Rectangle.fromDegrees(117.940573,-29.808406,118.313421,-29.468825);

Cesium.Camera.DEFAULT_VIEW_RECTANGLE = extent;

Cesium.Camera.DEFAULT_VIEW_FACTOR = 0;

var viewer = new Cesium.Viewer('cesiumContainer', {

terrainProvider : new Cesium.CesiumTerrainProvider({

url : '//cesiumjs.org/stk-terrain/tilesets/world/tiles'

}),

mapProjection : new Cesium.WebMercatorProjection(),

timeline: false,

animation: false,

baseLayerPicker: false

});

你可能感兴趣的:(cesium,js,路径)