我想为cesium app设置默认视图/ home位置.
我不只是想飞到这个位置一次; 我希望将位置设置为默认/ home - 以便可以在应用程序的其他位置使用 - 例如在HomeButton Widget中.
我试过这样设置Camera.DEFAULT_VIEW_RECTANGLE (这里的文档):
var extent = Cesium.Rectangle.fromDegrees(117.940573,-29.808406,118.313421,-29.468825);
viewer.camera.DEFAULT_VIEW_RECTANGLE = extent;
Run Code Online (Sandbox Code Playgroud)
但它不起作用..
为了完整性,这是我正在初始化应用程序的方式:
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,
});
Run Code Online (Sandbox Code Playgroud)
有什么建议?如果需要任何进一步的信息,请告诉我.
ema*_*key 13
DEFAULT_VIEW_RECTANGLE是一个静态属性Cesium.Camera.这样,您可以在Viewer构造之前分配值,然后新构建的小部件将初始化为您的自定义默认视图矩形.
编辑:另外,请注意Camera.DEFAULT_VIEW_FACTOR.您可以将此值设置为零,以使默认视图与您的矩形完全匹配.它的默认值将使您的默认视图远离您选择的矩形.
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
});
Run Code Online (Sandbox Code Playgroud)