leaflet添加多个marker的几种方式

逐个向地图添加

let map: any;//地图
let data;//数据数组
let markerArr = [];//marker数组

//添加
for (let l of data) {
  let maker = L.marker([l.lat,l.lng]).addTo(map);
  markerArr.push(maker);
}
//清除
for (let i = 0; i < this.markerArr.length; i++) {
  map.removeLayer(markerArr[i]);
}

组形式向地图添加(组marker数据完成后添加到地图)

let map: any;//地图
let data;//数据数组
let markerArr = [];//marker数组

for (let l of data) {
  let maker = L.marker([l.lat,l.lng]);
  markerArr.push(maker);
}
//添加
let markerGroup = L.layerGroup(markerArr);
map.addLayer(markerGroup);//或markerGroup.addTo(map)
//清除
markerGroup.clearLayers();

另一组形式向地图添加(先添加空组到地图,再逐个添加marker)

let map: any;//地图
let data;//数据数组
//添加
let markerGroup = L.layerGroup().addTo(map);
for (let l of data) {
  let maker = L.marker([l.lat,l.lng]);
  markerGroup.addLayer(maker);
}
//清除
markerGroup.clearLayers();

你可能感兴趣的:(leaflet添加多个marker的几种方式)