目录
let map= L.map('map', {
minZoom: 4,
maxZoom: 17,
zoom: 14,
center: [37.632111, 114.91680237],
attributionControl: false,
});
let tileLayer = L.tileLayer('http://map.geoq.cn/ArcGIS/rest/services/.../',{
maxZoom: 17,
minZoom: 4,
}).addTo(map);
let marker = L.marker([纬度,经度], { icon: 图标 })
注意: icon不定义就会使用leaflet自带的图标
icon图标:提供一个图片或图像代替标记
var myIcon = L.icon({
iconUrl: 'my-icon.png',
iconSize: [38, 95],
iconAnchor: [22, 94],
popupAnchor: [-3, -76],
shadowUrl: 'my-icon-shadow.png',
shadowSize: [68, 95],
shadowAnchor: [22, 94]
});
option选项
divIcon图标:提供一个div元素作为图标代替标记
let divIcon = L.divIcon({
html: `<div style="width:30px;height:30px;background:red;border-
radius:30px;text-align:center;line-height:30px;color:#ffffff">
北京</div>`,
className: 'icon', // 图标父节点的class属性
popupAnchor: [8, 2], // 弹出框(popup)的坐标,相对于图标描点而言,将从该点打开
});
divIcon继承icon的option选项
marker.bindPopup("我是popup",options).openPopup();
使用示例
marker.bindTooltip("my tooltip text",options).openTooltip();
map.createPane('pane'); // 创建窗格
map.getPane('pane').style.zIndex = 999; // 设置窗格的层级
var positronLabels = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_nolabels/{x}/{y}/{z}.png'),{
attribution: '©OpenStreetMap, ©CartoDB',
pane: 'labels' // 绑定窗格
}).addTo(map);
将给定的图层添加到地图中
map.addLayer(this.tileLayer);
遍历所有图层然后删除
map.eachLayer(function (layer) {
layer.remove();
})
// eachLayer()方法:遍历地图上所有图层
删除地图上单个图层
map.removeLayer(layer)
设置地图的中心点和层级
map.setView([lat: 30.890944, lng: 120.606944],10);
获取地图当前缩放级别
map.getZoom();
获取当前地图中心点
map.getCenter();
设置地图的最小或最大缩放级别
map.setMinZoom(10);
map.setMaxZoom(16);
判断地图上是否已存在某个图层
map.hasLayer(this.tileLayer);