如何通过 leaflet.pm 使 GeoJSON 数据不可编辑

How to make GeoJSON data uneditable through leaflet.pm

我有一个 geojson 文件,我用 ajax 得到它。但我想阻止编辑我在启动期间加载的几何图形。只有添加了 leaflet.pm 的才应该是可编辑的。 我该怎么做?

leaflet.pm

我正在使用地理json 坐标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 选项应用于组,而是应用于每个单独的传单层。使用 L.GeoJSONstylepointToLayer 选项执行此操作,例如:

  geojsonData = L.geoJson(data, {
    style: {
      pmIgnore: true,
      weight: 20
    },
  })

我是 Sumit,leaflet.pm

的维护者

我认为 there was a bug 关于在全局删除模式中通过 pmIgnore: true 忽略图层。 它应该是固定的 in this release。请测试版本 2.0.3 或更高版本,如果它有效,请告诉我。

如果您仍然遇到问题,请随时 report it here 使用 JSFiddle 显示问题,我很乐意 help/fix 它。