leaflet地图,怎么删除GeoJson数据和图片叠加层

发布于 2022-09-12 23:46:07 字数 1073 浏览 18 评论 0

image.png

image.png

如题。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 )

之所以之前搞不定,就是把 clearLayersremoveLayer操作的对象搞混乱了。
clearLayers 操作图层组
removeLayer 操作图层

都怪这俩名字起的不好╭(╯^╰)╮

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

流心雨 2022-09-19 23:46:07

1、首先使用一个变量接收一下let mlayer = L.geoJSON....addTo(map),删除的时候map.removeLayer(mlayer)
2、和1一模一样的用法

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文