Cesium系統學習整理(一)


(一)Cesium的概念定義

  Cesium是國外一個基於JavaScript編寫的使用WebGL的地圖引擎。Cesium支持3D,2D,2.5D形式的地圖展示,可以自行繪制圖形,高亮區域,並提供良好的觸摸支持,且支持絕大多數的瀏覽器和mobile,CesiumJS是一個開放源代碼JavaScript庫,用於創建具有最佳性能,精度,視覺質量和易用性的世界一流的3D地球和地圖。從航空航天到智慧城市再到無人機,各行各業的開發人員都使用CesiumJS創建用於共享動態地理空間數據的交互式Web應用程序。CesiumJS建立在開放格式上,旨在實現強大的互操作性。從Cesium ion或其他來源獲取數據,使用CesiumJS進行可視化,並與台式機或移動設備上的用戶共享。CesiumJS的下載量超過1,000,000,為數百萬用戶提供了強大的應用程序,整個定義來自官方網站。

(二)Cesium的安裝與配置環境

  前面已經了解了什么是Cesium,現在就是開始使用了,說到安裝其實Cesium會有一個資源包,目前已經到了1.72版本了,下載下來在代碼進行引用即可。如果你網速夠給力,且可翻,也可不用下載資源包,在代碼中通過src將js與css格式在線引用,不過該方法會出現加載慢的特點,建議還是將資源包下載下來,本地引用。另外說到配置環境,對於前端來說,nodejs的環境必須要有的,看到很多博主用Python、tomcat以及IIS進行http環境搭建,本人使用的為git命令行輸入http-server的方式進行http服務的環境搭建的,不過原理大致一樣,配置完相關的環境,就可以寫出Cesium的第一例子了。

(三)Cesium的第一個實例

很多博主中第一個實例出現的第一段代碼基本都是var viewer = new Cesium.Viewer('cesiumContainer'),然后把h5的其他部分補齊,出現了一個大大的地球,於是小伙伴們感覺去嘗試了一下,發現事情並不簡單,大部分用該代碼出現的就是一個大大的黑框除了cesium自帶的一些東西外,並沒有出現地球,那是為什么那?好了不買關子了,這里不出現地球最主要的原因是版本變了,因為我們在加載上面的代碼的時候,默認使用的是必應的底圖,但在1.5版本以后,加載底圖不能說隨便加載了,你必須有必應的token才行,那就要去先去注冊一個token了,(必應地圖地址https://www.bingmapsportal.com/),如圖注冊完成以后的截圖:

token創建完成,就好操作了,代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <!-- Use correct character set. -->
  <meta charset="utf-8">
  <!-- Tell IE to use the latest, best version. -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <!-- Make the application on mobile take up the full browser screen and disable user scaling. -->
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
  <title>Hello World!111</title>
  <script src="../Build/Cesium/Cesium.js"></script>
  <style>
      @import url(../Build/Cesium/Widgets/widgets.css);
      html, body, #cesiumContainer {
          width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
      }
  </style>
</head>
<body>
      <div id="cesiumContainer">
        <div id="cesiumxin" style="position:fixed;left:0;z-index:99"><a href="http://cesium.xin" style="color:aliceblue;text-decoration:none">http://cesium.xin <label for="">cesium中文網 http://cesium.xin </label></a></div>
    </div>
  <script>
        Cesium.BingMapsApi.defaultKey = "你的key";
	var viewer = new Cesium.Viewer("cesiumContainer", {
        animation: false, //是否創建動畫小器件,左下角儀表
        timeline: false,  //是否顯示時間線控件
        geocoder: false,         //是否顯示地名查找控件
        shouldAnimate: true,
        baseLayerPicker: false,  //是否顯示圖層選擇控件  
        imageryProvider: new Cesium.BingMapsImageryProvider({
        url: "https://dev.virtualearth.net",
        mapStyle : Cesium.BingMapsStyle.AERIAL }),        
});
  </script>
</body>
</html>

  這時候你再去運行會發現,那個久違的地球出來了,如圖:

很多小伙伴也發現了,這個代碼中有幾行為 imageryProvider: new Cesium.BingMapsImageryProvider({ url: "https://dev.virtualearth.net",mapStyle : Cesium.BingMapsStyle.AERIAL }),這標記的紅色的代碼就有意思了,這個mapstyle就是地圖的格式啊,也就是說我們可以通過修改代碼中的這個值,這個地球也會變成不同的球體了,不行我們可以試試,
mapStyle : Cesium.BingMapsStyle.ROAD時出現的球體:同時還包括AERIAL、AERIAL_WITH_LABELS、ROAD、ORDNANCE_SURVEY、COLLINS_BART等必應帶的風格,可以自己去嘗試加載一下。
好了,學習Cesium第一部分的內容就結束了,后面將持續更新,有什么問題加QQ779059300一起學習交流。


免責聲明!

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



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