使用Cesium能夠直觀的看基於DEM切片產生的Terrain地形數據,有種身臨其境的感受,但缺點是Cesium默認缺省加載了微軟Bing提供的地形以及遙感影像數據,能夠跟蹤日誌,總提示讓你申請微軟的Bing地圖Key。若是Cesium在絕對離線,即不鏈接互聯網的狀況下,第一步加載Bing地形圖時候就拋出了異常,後面的圖層也沒法加載,整個地圖區域將顯示漆黑的天空,這就意味着須要在底層,取消對Bing地形圖的訪問。網絡
因爲Cesium超乎尋常的大,未壓縮狀況下有6Mb多,好處是 能夠看清楚代碼結構。這樣就能夠跟蹤分析,如何取消對Bing地圖的訪問(如採用通常的文本編輯器,基本會死掉,Sublime也會常常卡死,所以我使用宇宙中最強大的IDE-VS2015)。打開Cesium.js後搜索代碼行,有一個createDefaultImageryProviderViewModels函數,裏面加載在線地圖服務近10多種,其中一些就是Bing地圖,還有其餘互聯網在線地圖商提供的地圖服務。因爲個人場景是物理隔絕的網絡,即不能使用在線地圖服務,所以,所有將這些代碼註釋掉,返回空的providerViewModels。編輯器
註釋後保存,編寫測試代碼發現加載後的地圖有黑色天空變成了藍色,固然,很醜陋。ide
爲了不藍色地球,預先加載了一張全球地圖做爲背景,函數
var imageryProvider = new Cesium.SingleTileImageryProvider({
url : './images/global.jpg'
}),
baseLayerPicker : false
});
global.jpg是全球地圖測試
效果以下:url
接下來,採用爬蟲爬取谷歌地形圖和影像圖,硬盤越大越好,縮放級別越高越好,使用IIS發佈後,調用以下接口在Cesium中顯示地形圖,代碼以下:日誌
layersTerrainMap.addImageryProvider(Cesium.createTileMapServiceImageryProvider({
url: 'http://192.168.198.183/Google_DEM/',
credit: 'Google_DEM'
}));blog
效果以下圖所示:接口