Cesium 學習筆記


1,默認使用 Bing 衛星圖層

2,在Cesium中,Homebutton的默認跳轉位置是美國,那么在開發中我們如何更改這個默認跳轉位置呢,這就要更改一下源代碼了:

     Camera.DEFAULT_VIEW_RECTANGLE = Rectangle.fromDegrees(89.5, 20.4, 110.4, 61.2);    //homebutton默認跳轉位置

    此代碼位置Cesium.js中大約十四萬一千五百行左右,更改 camera的 Camera.DEFAULT_VIEW_RECTANGLE 屬性即可。

3,camera

        三個參數:

         roll  是圍繞 X 軸旋轉;

         pitch 是圍繞 Y 軸旋轉;

            heading 是圍繞 Z 軸旋轉 

 

      heading/pitch/roll 的單位是弧度。Heading是當前方向 由北向東旋轉的角度。Pitch 是方向和水平平面的夾角。Pitch為正 表示方向向量指向水平平面上方,反之表示方向向量指向平面下方。Roll 是方向向量以正東方向為軸的旋轉角度。

      cesium 提供了三種方式可以對 camera 進行操作:setView,flyTo,lookAt

來源: http://cesium.xin/wordpress/archives/261.html

4, Cesium.Rectangle.fromDegrees(west, south, east, north, result)   得到的是限定了邊界經緯度的矩形

    

 5,css文件引入方式有兩種:1,link 標簽;2,@import 

  @import 語法有兩種:

@import "style.css";
@import url("style.css");

  import 規則一定要先於除了 @charset 的其他任何 CSS 規則。

       建議:不要使用 @import。會帶來一些問題,主要體現兩個方面:1,影響瀏覽器的並行下載;2,多個@import導致下載順序紊亂;

      信息來源:https://segmentfault.com/a/1190000000369549

6, 點位數據的加載

cesium 支持流行的矢量格式 GeoJson 和 KML ,以及 CZML

所有空間矢量數據在 cesium 里都是使用 Entity 相關 API 去展示的。 Entity API 使用了靈活高效的可視化渲染方式。 Entity 是一種對幾何圖形做空間和時間展示的數據對象。

示例代碼:

var kmlOptions = {
    camera : viewer.scene.camera,
    canvas : viewer.scene.canvas,
    clampToGround : true
};
// 從這個KML的url里加載POI點位
var geocachePromise = Cesium.KmlDataSource.load('./Source/SampleData/sampleGeocacheLocations.kml', kmlOptions);

geocachePromise.then(function(dataSource) {
    // 把所有entities添加到viewer中顯示
    viewer.dataSources.add(dataSource);
});

 這些新加入到場景的 entity 默認有很多功能。單擊它們會在 Infobox 顯示屬性,雙擊它相機轉換為居中觀察模式(look at),使用 HOME 按鈕或者 infobox 旁邊的相機按鈕可以停止這種模式。  

 7,相機模式

  • 自由模式   默認的相機控制方式
  • 無人機模式:以一個固定距離跟隨無人機。無人機跟隨模式下,我們使用 viewer 內置的跟隨函數,確保相機一直居中觀察無人機。這種模式下,即使對象是移動的,相機也能和目標之間保持一個固定的偏移距離。只需要簡單的設置 viewer.trackedEntity 。切換到自由模式,只需要把 viewer.trackedEntity 設置為 undefined,然后可以使用 camera.flyto() 返回到初始位置。

來源: https://www.jianshu.com/p/24ffa692aac3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM