leaflet+天地图+更换地图主题

先弄清楚leaflet和天地图充当的角色

  • leaflet是用来在绘制、交互地图的
  • 天地图是纯粹用来当个底图的,相当于在leaflet中底部的一个图层而已
  • 进行Marker打点、geojson绘制等操作都是使用leaflet实现

1. 使用天地图当底图

  • 在token处填自己的token
  • 我这里用的是天地图的影像底图,如果需要可自行更换或添加底图
  • 天地图底图网址:http://lbs.tianditu.gov.***/server/MapService.html
  • 只用替换我代码里的天地图链接里的http://{s}.tianditu.***/img_c/里的img_c为我图中圈起来的编号,其他不用动
  • 要是文字标注显示不出来,替换http://{s}.tianditu.***/cia_c/wmts?layer=cvalayer=cva里的cva也为图中圈起来的编号
const token = "填自己的天地图token";
// 底图
const VEC_C ="http://{s}.tianditu.***/img_c/wmts?layer=vec&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}&tk=";
// 文字标注
// const CVA_C = "http://{s}.tianditu.***/cia_c/wmts?layer=cva&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}&tk=";
let map = L.map("map", {
   
   
  minZoom: 3,
  maxZoom: 17,
  center: [34.33213, 109.00945],
  zoomSnap: 0.1,
  zoom: 3.5,
  zoomControl: false,
  attributionControl: false,
  crs: L.CRS.EPSG4326,
});
L.tileLayer(VEC_C + token, {
   
   
  zoomOffset: 1,
  subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
  opacity: 0.2,
}).addTo(map);
// 添加文字标注
转载请说明出处内容投诉
CSS教程网 » leaflet+天地图+更换地图主题

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买