優勢:javascript
缺點:html
軟件環境:java
cesium1.25,tomcat7api
1,首先使用XX地圖下載器,破解版4.6,下載全球高德影像圖,我下載1-7級,大概幾百兆,比較快,第八級1個多G,指數級增加,學習階段不須要太多。tomcat
下載操做:首先縮小地圖,框選全球地圖,雙擊,彈出下載頁面,經緯度能夠手動調整,-180,180 -90 90,肯定便可下載。其它都默認。網絡
2,下載完成後,以下圖:併發
點擊導出按鈕,如上右圖。存儲格式選擇「瓦片:tms」,圖片格式png便可,選擇保存位置,導出。app
3,將導出的瓦片目錄複製到tomcat wabapps目錄下,文件名GlobalTMS,下面1-7級瓦片。編輯器
4,Cesium中顯示影像,代碼以下:ide
var url='http://localhost:8080/geoserver/wms'; //Geoserver URL var viewer = new Cesium.Viewer('cesiumContainer',{ imageryProvider:new Cesium.WebMapServiceImageryProvider({ url : url, layers: 'nurc:Arc_Sample'// Here just give layer name }), baseLayerPicker:false }); var layers = viewer.imageryLayers; var blackMarble = layers.addImageryProvider(Cesium.createTileMapServiceImageryProvider({ url : '/GlobalTMS', credit : '北京市昌平區' }));
5,保存文件後,顯示效果:
使用Cesium能夠直觀的看基於DEM切片產生的Terrain地形數據,有種身臨其境的感受,但缺點是Cesium默認缺省加載了微軟Bing提供的地形以及遙感影像數據,能夠跟蹤日誌,總提示讓你申請微軟的Bing地圖Key。若是Cesium在絕對離線,即不鏈接互聯網的狀況下,第一步加載Bing地形圖時候就拋出了異常,後面的圖層也沒法加載,整個地圖區域將顯示漆黑的天空,這就意味着須要在底層,取消對Bing地形圖的訪問。
因爲Cesium超乎尋常的大,未壓縮狀況下有6Mb多,好處是 能夠看清楚代碼結構。這樣就能夠跟蹤分析,如何取消對Bing地圖的訪問(如採用通常的文本編輯器,基本會死掉,Sublime也會常常卡死,所以我使用宇宙中最強大的IDE-VS2015)。打開Cesium.js後搜索代碼行,有一個createDefaultImageryProviderViewModels函數,裏面加載在線地圖服務近10多種,其中一些就是Bing地圖,還有其餘互聯網在線地圖商提供的地圖服務。因爲個人場景是物理隔絕的網絡,即不能使用在線地圖服務,所以,所有將這些代碼註釋掉,返回空的providerViewModels。
註釋後保存,編寫測試代碼發現加載後的地圖有黑色天空變成了藍色,固然,很醜陋。
爲了不藍色地球,預先加載了一張全球地圖做爲背景效果如上右圖。
接下來,採用爬蟲爬取谷歌地形圖和影像圖,硬盤越大越好,縮放級別越高越好,使用IIS發佈後,調用以下接口在Cesium中顯示地形圖,代碼以下:
layersTerrainMap.addImageryProvider(Cesium.createTileMapServiceImageryProvider({
url: 'http://192.168.198.183/Google_DEM/',
credit: 'Google_DEM'
}));
Cesium