javascript - 如何通过 leaflet.pm 使 GeoJSON 数据不可编辑
问题描述
我有一个 geojson 文件,我用 ajax 得到它。但我想防止编辑我在启动期间加载的几何图形。只有使用 leaflet.pm 添加的那些应该是可编辑的。我该怎么做 ?
我正在使用geojson坐标json。当页面加载时,这些绘图会添加到地图中。
{pmIgnored: true} 在尝试删除删除模式后,当我单击我从 geojson 添加的静态图形之一时,会删除所有这些图形。我该如何预防?
var geojsonData;
// addded geojson ajax
$.getJSON("geo.json", {
async: false,
}, function (data) {
geojsonData = L.geoJson(data, {
pmIgnore: true, // ignore static shaped edited
style: {
weight: 20
},
}).addTo(map);
});
我想要做的是在删除模式打开时不要以任何方式删除静态坐标
解决方案
不将该pmIgnore
选项应用于组,而是应用于每个单独的传单层。style
使用 的和pointToLayer
选项执行此操作L.GeoJSON
,例如:
geojsonData = L.geoJson(data, {
style: {
pmIgnore: true,
weight: 20
},
})
推荐阅读
- javascript - 澄清作用域变量在 Javascript 闭包的上下文中的行为方式
- visual-studio-code - 调试时未部署VS代码扩展依赖项?
- python - 将 Scrapy 中建立的会话 cookie 传递给 Splash 以用于抓取 js 页面
- javascript - 无法设置克隆元素的宽度和高度
- c++ - _mm_prefetch 是异步的吗?分析显示了很多循环
- nginx - 如何在 Nginx 中为 Janus REST api 和 socket api 设置反向代理?
- typescript - 从导入的类型重命名接口
- powershell - 使用 Invoke-WebRequest 将 powershell 函数更改为类时遇到问题
- javascript - How do I send my error in the chat and how do I send the output of my eval in an embed? Anything would help :)
- c++ - 缩放视图时如何在屏幕上保存 QGraphicsItem 大小?