leaflet地图,怎么删除GeoJson数据和图片叠加层
如题。leaflet地图,
1、用geoJSON格式的数据在地图上面渲染了一块区域,切换到别的功能,要把地图上绘制的区域删掉,不知道怎么删除。
2、在地图上叠加了雷达图片,切换到别的功能,要把地图上叠加的图片删掉,不知道怎么删除。
希望有熟悉leaflet API的大佬指点一下。
=========
2021-05-20
不管是marker还是geoJSON格式的数据,还是图片叠加层,都叫图层:Layer
let marker1 = L.marker(...).addTo(map)
let marker2 = L.geoJSON(.....).addTo(map)
let marker3 = L.imageOverlay(...).addTo(map);
都可以这么删除
map.removeLayer(marker1)
map.removeLayer(marker2)
map.removeLayer(marker3)
但是,这样一个一个删除,就很麻烦,尤其是实际的业务中都是在地图上渲染很多个maker或者好几片区域。所以可以这样:
// 把这一组图层Layer放到同一个图层组layerGroup
let mylayerGroup = L.layerGroup([marker1, marker2, ....... ])
// 把图层组layerGroup添加到地图
map.addLayer(mylayerGroup)
// 从地图中删除图层组
map.clearLayers(mylayerGroup )
之所以之前搞不定,就是把 clearLayers
和 removeLayer
操作的对象搞混乱了。clearLayers
操作图层组removeLayer
操作图层
都怪这俩名字起的不好╭(╯^╰)╮
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
1、首先使用一个变量接收一下
let mlayer = L.geoJSON....addTo(map)
,删除的时候map.removeLayer(mlayer)
2、和1一模一样的用法