1,顯示二三維切換按鈕
SceneModePicker:true
2.設置初始視點:
var extend= Cesium.Rectangle.fromDegrees(100, 10, 120, 70);
Cesium.Camera.DEFAULT_VIEW_RECTANGLE = extend;
Cesium.Camera.DEFAULT_VIEW_FACTOR =0
3.二三維切換定位問題
點擊二三維切換按鈕時候,切換了會顯示一個大圖,並沒有回到原來的位置上去,如下圖:
解決方法1:
viewer.sceneModePicker.viewModel.duration = 0.0;//去掉二三維切換動畫效果
設置這個參數,二三維切換的時候位置就會保持原來的了
原理: cesium底層的代碼做了一個判斷,如果延時參數大於0,就縮放到全球顯示一個切換動畫,設成0就沒這個動畫了
解決方法2:
切換二三維的自己做UI,調用底層的代碼切換,都可以實現切換二三維
4.初始定位:
var boundingSphere = new Cesium.BoundingSphere(Cesium.Cartesian3.fromDegrees(116.4, 39.9, 100), 15000);
// Override behavior of home button
viewer.homeButton.viewModel.command.beforeExecute.addEventListener(function(commandInfo) {
// Fly to custom position
viewer.camera.flyToBoundingSphere(boundingSphere);
// Tell the home button not to do anything
commandInfo.cancel = true;
});
// Set custom initial position
viewer.camera.flyToBoundingSphere(boundingSphere, {duration: 0});
還有其他解決方法請留言哦,在此記錄希望能夠幫到你
將不定期更新資源,歡迎持續關注
想獲得更多的學習知識請關注微信公衆號:西北碼農或掃下方二維碼