leaflet加载天地图DataServer

1. 天地图下载ChineseTmsProviders.js,https://github.com/htoooth/Leaflet.ChineseTmsProviders/tree/master/src

    下载下来大概是这个样子的,需要申请公司的注册申请key,官网去注册申请浏览器端key:http://www.tianditu.gov.cn/

    

现在官网进行修改,DataServer进行调整,现在调整为:

 TianDiTu: {
    Normal: {
      Map: "https://t{s}.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=您的密钥",
      Annotion: "https://t{s}.tianditu.gov.cn/cva_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cva&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=您的密钥"
    },
    Satellite: {
      Map: "https://t{s}.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=您的密钥",
      Annotion: "https://t{s}.tianditu.gov.cn/cia_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=您的密钥"
    },
    Terrain: {
      Map: "https://t{s}.tianditu.gov.cn/ter_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ter&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=您的密钥",
      Annotion: "https://t{s}.tianditu.gov.cn/cta_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cta&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=您的密钥"
    },
    Subdomains: ['0', '1', '2', '3', '4', '5', '6', '7']
  },

 

    

2.引入到项目中:

3. 开始调用:先把三个地图放到layerGroup中

    

  
   
    // 影像地图
    const imgLayer= L.tileLayer.chinaProvider("TianDiTu.Satellite.Map", {});
    const imgAnnLayer = L.tileLayer.chinaProvider(
      "TianDiTu.Satellite.Annotion",
      {}
    );
    var imgGroup = L.layerGroup([this.imgLayer, this.imgAnnLayer]);




    // 矢量地图
    const vectorMap = L.tileLayer.chinaProvider("TianDiTu.Normal.Map", {
      maxZoom: 18
    });
    const vectorAnn = L.tileLayer.chinaProvider("TianDiTu.Normal.Annotion", {});

    var vecGroup = L.layerGroup([vectorMap, vectorAnn]);



    // 地形地图
    const terrainMap = L.tileLayer.chinaProvider("TianDiTu.Terrain.Map", {});
    const terrainAnn = L.tileLayer.chinaProvider(
      "TianDiTu.Terrain.Annotion",
      {}
    );
    var terrainGroup = L.layerGroup([terrainMap, terrainAnn]);

4. 把三个layerGrop添加到layers的baseLayers中

  

  const layers = {
      baseLayers: {
       
        矢量地图: vecGroup,
        影像地图: this.imgGroup,
        地形地图: terrainGroup
      },
      overlays: {}
    };

5. 把layers添加到地图上

     var _layerControl = L.control
        .layers(layers.baseLayers, layers.overlays, { collapsed: true })
        .addTo(map);

6. 这样地图就可以用了

   

 

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wu_223

嘿嘿,求打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值