vue3 +leaflet + 天地图

Posted 高山仰行,景行行止

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue3 +leaflet + 天地图相关的知识,希望对你有一定的参考价值。

vue3使用leaflet

npm install leaflet -D
如果使用了ts
npm i --save-dev @types/leaflet  // 使用了ts需要下载声明类型
// 更具需要获取不通过类型的url
function getUrl(type:string) 
  interface MyObject 
    [key: string]: Array<string>; 
  
  let obj:MyObject = 
    \'vec_c\':[\'vec_c\',\'vec\'],
    \'cva_c\':[\'cva_c\',\'cva\'],
    \'img_c\':[\'img_c\',\'img\'],
  
  const key = \'7dc37****************0052dfe0\'
  const num = Math.floor(Math.random() * 8); 
  return `http://t$num.tianditu.com/$obj[type][0]/wmts?layer=$obj[type][1]&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix=z&TileCol=x&TileRow=y&tk=$key`

import L from \'leaflet\'
import \'leaflet/dist/leaflet.css\'
export function loadBaseMap( id: string, center: [number, number] = [29.18404688, 119.70671163],satellite:boolean = true) 
  let map = null
  //影像地图
  let type = satellite ? \'img_c\' : \'vec_c\'
  let osm = L.tileLayer(getUrl(type), 
    maxZoom: 20,
    tileSize: 256,
    zoomOffset: 1,
  ),cities = L.tileLayer(getUrl(\'cva_c\'), 
    maxZoom: 20,
    tileSize: 256,
    zoomOffset: 1,
  ),ibo_c = L.tileLayer(getUrl(\'ibo_c\'), 
    maxZoom: 20,
    tileSize: 256,
    zoomOffset: 1,
  )
  map = L.map(id, 
    zoomControl: false, //不显示缩放小控件
    minZoom: 3,
    maxZoom: 17,
    center: center,
    zoom: 14,
    layers: [ osm,cities,ibo_c],// 初始化底图
    attributionControl: false,
    crs: L.CRS.EPSG4326,
  )
  map.on(\'click\', (e) => 
    console.log(e.latlng, \'e\')
  )

leaflet怎么加载天地图的wmts服务

参考技术A Web地图服务(WMS):利用具有地理空间位置信息的数据制作地图,其中将地图定义为地理数据可视的表现,地图本身并不是数据。地图通常以图像格式表达,例如PNG,GIF或是JPEG,有时候也表达为基于矢量图形,如可缩放矢量图形(SVG)或是网络电脑图形元文件等格式(WebCGM)。根据OGC规范,地图服务是专门提供共享地图数据的服务,负责根据客户程序的请求,提供地图图像、指定坐标点的要素信息、以及地图服务的功能说明信息。
WMS规范定义了三个接口(操作):GetCapabilities(获取服务能力), GetMap(获取地图)和GetFeatureInfo(获取对象信息)。其中GetMap为核心操作。GetCapabitities返回服务级元数据,它是对服务信息内容和要求参数的一种描述;GetMap返回一个地图影像,其地理空间参考和大小参数是明确定义了的;GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息。这个规范还定义了一个用于调用上述操作的万维网统一资源定位器(URL)语法和服务级元数据的XML(可扩展标记语言)表达法。本回答被提问者采纳

以上是关于vue3 +leaflet + 天地图的主要内容,如果未能解决你的问题,请参考以下文章

leaflet加载天地图

leaflet-加载天地图-解决纬度偏移特别大

leaflet怎么加载天地图的wmts服务

地图瓦片整体介绍

leaflet之唯一值渲染专题图

esri-leaflet入门教程-加载各类图层