一、引入leaflet
<link rel="stylesheet" href="https:///leaflet@1.6.0/dist/leaflet.css" /> <script src="https:///leaflet@1.6.0/dist/leaflet.js"></script> 或者 <!--integrity:--子资源完整性 (SRI) 是一项安全功能,--> <!--可让浏览器验证其抓取的文件 (例如,从一个 CDN) 是在没有意外操作的情况下传递的。--> <!--它的工作原理是允许您提供一个获取的文件必须匹配的加密散列/哈希。--> <!--crossorigin--> <!--该枚举属性指定在加载相关图片时是否必须使用CORS。可取的值包括以下两个:--> <link rel="stylesheet" href="https:///leaflet@1.6.0/dist/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin=""/> <script src="https:///leaflet@1.6.0/dist/leaflet.js" integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew==" crossorigin=""></script>
或者 下载到本地引入同第一个 下载插件leaflet.ChineseTmsProviders.js.在leaflet下引入( 主要谷歌地图、高德地图、天地图和 OSM 地图 ) 百度地图的瓦片组织方式是不同的。 百度从中心点经纬度(0,0)度开始计算瓦片, 而谷歌地图是从左上角经纬度(-180,90)度开始计算瓦片; 如果直接使用百度瓦片地图服务会请求不到瓦片, 因此需要转换一下。借助 leaflet-tileLayer-baidu 这个插件(我没用过) 但是天地图更改了,需要修改为一下 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'] } 二、在html页面新建<div>设置好宽高 在<script>标签内声明变量 图中所画来源于 leaflet.ChineseTmsProviders.js。自己选择要加载的地图类型,把对应数据写上去。maxzoom,minzoom。代表地图最大最小缩放等级 再次声明一个变量。 这是初始化地图语法 var map = L.map('map',{ center:[31.59, 120.29],//地图中心经纬度 zoom:13,//当前缩放等级 minZoom:5,//最小缩放等级 maxZoom:15,//最大缩放等级 layers:[nomal1], dragging:true,//是否允许拖拽 attributionControl: false,//是否去除右下角标志 zoomControl:false//是否显示地图缩放图例 }); 运行项目地图初始化完成
|