cesium 修改默认地图选择器内容

cesium默认的底图选择器中有很多底图实际用不到,但是这个选择器很好用,所以想着修改选择器中的内容,将其中的地图改为用的比较多的地图。
cesium地图选择器
当初始化viewer的时候,将baseLayerPicker设置为true;
cesium viewer api
同时将imageryProviderViewModels属性设置为自定义的地图集合;
示例:

      var imageryViewModels = [];
      var tiandituyx=new Cesium.ProviderViewModel({
          name:"天地图影像",
          tooltip:"天地图影像及中文标注数据",
          iconUrl:"./sampleData/images/tianditu.jpg",
          creationFunction: function() {
              var mapsources=[];
              var yx = 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=8b207a527da69c7a32f636801fa194d4",
              layer: "tdtBasicLayer",
              style: "default",
              format: "image/jpeg",
              tileMatrixSetID: "GoogleMapsCompatible",
              show: false
            })
            var jd= new Cesium.WebMapTileServiceImageryProvider({
              url:
                "http://t0.tianditu.gov.cn/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=8b207a527da69c7a32f636801fa194d4",
              layer: "tiandituImgMarker",
              style: "default",
              format: "image/jpeg",
              tileMatrixSetID: "tiandituImgMarker",
              show: true,
              maximumLevel: 16
            })
            mapsources.push(yx,jd);
            return mapsources;
          }
      });
      imageryViewModels.push(tiandituyx)

上述代码是天地图影像图层和天地图中文标注图层。
效果图

如果要设置默认图层,只需要将viewer里的selectedImageryProviderViewModel设置为想设置的默认图层即可,如果不设置,则默认显示第一个图层。在这里插入图片描述

完整代码:

<!doctype html>
<html>

<head>
    <title>修改默认的地图选择器内容</title>
    <script src="./Cesium/Cesium.js"></script>
    <meta charset="utf-8" />
    <style>
        @import url("./Cesium/bucket.css");
        @import url("./Cesium/Widgets/widgets.css");
        html,
        body,
        #cesiumContainer {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;

        }
    </style>
</head>

<body>
    <div id="cesiumContainer" style="width: 100%;height: 100%;"></div>
    <script>
      var imageryViewModels = [];
      var tiandituyx=new Cesium.ProviderViewModel({
          name:"天地图影像",
          tooltip:"天地图影像及中文标注数据",
          iconUrl:"./sampleData/images/tianditu.jpg",
          creationFunction: function() {
              var mapsources=[];
              var yx = 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=8b207a527da69c7a32f636801fa194d4",
              layer: "tdtBasicLayer",
              style: "default",
              format: "image/jpeg",
              tileMatrixSetID: "GoogleMapsCompatible",
              show: false
            })
            var jd= new Cesium.WebMapTileServiceImageryProvider({
              url:
                "http://t0.tianditu.gov.cn/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=8b207a527da69c7a32f636801fa194d4",
              layer: "tiandituImgMarker",
              style: "default",
              format: "image/jpeg",
              tileMatrixSetID: "tiandituImgMarker",
              show: true,
              maximumLevel: 16
            })
            mapsources.push(yx,jd);
            return mapsources;
          }
      });
      imageryViewModels.push(tiandituyx)
      var tianditujd=new Cesium.ProviderViewModel({
          name:"天地图街道",
          tooltip:"天地图街道数据",
          iconUrl:"./sampleData/images/tianditu.jpg",
          creationFunction: function() {
            return new Cesium.WebMapTileServiceImageryProvider({
              url: "http://t0.tianditu.com/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=8b207a527da69c7a32f636801fa194d4",
              layer: "tdtVecBasicLayer",
              style: "default",
              format: "image/jpeg",
              tileMatrixSetID: "GoogleMapsCompatible",
              show: false
            })
          }
      });
      imageryViewModels.push(tianditujd)
      var tiandituzj=new Cesium.ProviderViewModel({
          name:"天地图中文标注",
          tooltip:"天地图中文标注数据",
          iconUrl:"./sampleData/images/tianditu.jpg",
          creationFunction: function() {
            return new Cesium.WebMapTileServiceImageryProvider({
              url:
                "http://t0.tianditu.gov.cn/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=8b207a527da69c7a32f636801fa194d4",
              layer: "tiandituImgMarker",
              style: "default",
              format: "image/jpeg",
              tileMatrixSetID: "tiandituImgMarker",
              show: true,
              maximumLevel: 16
            })
          }
      });
      imageryViewModels.push(tiandituzj)
      var tianditugjx=new Cesium.ProviderViewModel({
          name:"天地图国界线",
          tooltip:"天地图国界线数据",
          iconUrl:"./sampleData/images/tianditu.jpg",
          creationFunction: function() {
            return new Cesium.WebMapTileServiceImageryProvider({
              url:
                "https://t0.tianditu.gov.cn/ibo_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=ibo&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=8b207a527da69c7a32f636801fa194d4",
              layer: "tiandituImg",
              style: "default",
              format: "image/jpeg",
              tileMatrixSetID: "tiandituImg",
              show: true,
              maximumLevel: 16
            })
          }
      });
      imageryViewModels.push(tianditugjx)
      var viewer=new Cesium.Viewer("cesiumContainer",{   
        baseLayerPicker : true,//是否显示图层选择器 
        imageryProviderViewModels:imageryViewModels,
        selectedImageryProviderViewModel:tianditujd
      })  
    </script>

</body>
</html>
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值