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() 返回到初始位置。