<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Cesium App</title> <script src="./scripts/Cesium/Cesium.js"></script> <link rel="stylesheet" href="./scripts/Cesium/Widgets/widgets.css"> <style> html,body{ width: 100%; height: 100%; margin: 0; padding:0; } #baseLayerPickerContainers{ position: absolute; right: 30px; top: 20px; z-index: 666; } </style> </head> <body> <!-- 整個渲染視圖 --> <div id="cesiumContainer" style="height:100%"> <!-- 自定義控件 --> <div id="baseLayerPickerContainers"></div> </div> <script> //影像底圖切換 var img_tdt_yx = new Cesium.ProviderViewModel({ name: "影像底圖", tooltip: "影像底圖", //顯示切換的圖標 iconUrl: "./images/img_tdt_yx.png", creationFunction: function () { var esri = new Cesium.WebMapTileServiceImageryProvider({ url: 'http://t0.tianditu.com/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=7711a24780452f03bb7c02fba98183b9' }); //影像標注 addImageryProvider("http://t0.tianditu.com/cia_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=7711a24780452f03bb7c02fba98183b9"); return esri; } }); //矢量底圖切換 var img_tdt_sl = new Cesium.ProviderViewModel({ name: "矢量底圖", tooltip: "矢量底圖", iconUrl: "./images/img_tdt_sl.png", creationFunction: function () { var esri = new Cesium.WebMapTileServiceImageryProvider({ url: 'http://t0.tianditu.gov.cn/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=7711a24780452f03bb7c02fba98183b9' }); addImageryProvider("http://t0.tianditu.gov.cn/cva_w/wmts&request=GetTile&version=1.0.0&LAYER=cva&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=7711a24780452f03bb7c02fba98183b9") return esri; } }); //地形底圖切換 var img_tdt_dx = new Cesium.ProviderViewModel({ name: "地形底圖", tooltip: "地形底圖", iconUrl: "./images/img_tdt_dx.png", creationFunction: function () { var esri = new Cesium.WebMapTileServiceImageryProvider({ url: 'http://t0.tianditu.gov.cn/ter_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=ter&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=7711a24780452f03bb7c02fba98183b9' }); addImageryProvider("http://t0.tianditu.gov.cn/cta_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cta&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=7711a24780452f03bb7c02fba98183b9") return esri; } }); //ui入口 let viewer = new Cesium.Viewer('cesiumContainer',{ animation:false,//是否創建動畫小器件,左下角儀表 timeline: false,//是否顯示時間軸 sceneModePicker: false,//是否顯示3D/2D選擇器 baseLayerPicker: false,//是否顯示圖層選擇器 geocoder: false,//是否顯示geocoder小器件,右上角查詢按鈕 scene3DOnly: true,//如果設置為true,則所有幾何圖形以3D模式繪制以節約GPU資源 navigationHelpButton: false,//是否顯示右上角的幫助按鈕 homeButton: false,//是否顯示Home按鈕 infoBox: true,//是否顯示信息框 showRenderLoopErrors: false//如果設為true,將在一個HTML面板中顯示錯誤信息 }); //影像標注加載 let addImageryProvider = function(url){ viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({ url: url, layer: "tdtImgAnnoLayer", style: "default", format: "image/jpeg", tileMatrixSetID: "GoogleMapsCompatible", show: false })) } //隱藏cesium左下角logo viewer._cesiumWidget._creditContainer.style.display = 'none'; //自定義圖層切換 let baseLayerPicker = new Cesium.BaseLayerPicker("baseLayerPickerContainers",{ globe:viewer.scene.globe,//傳入全局地球對象 imageryProviderViewModels:[img_tdt_yx, img_tdt_dx, img_tdt_sl],//需要進行切換的幾個圖層 }) //更改地圖切換的標題 document.querySelector('.cesium-baseLayerPicker-sectionTitle').innerText = "底圖切換" </script> </body> </html>
希望對你們有幫助……