Cesium 系列2 - 默認位置設置及二三維切換定位問題解決

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});

還有其他解決方法請留言哦,在此記錄希望能夠幫到你

將不定期更新資源,歡迎持續關注


想獲得更多的學習知識請關注微信公衆號:西北碼農或掃下方二維碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章