首页 > 解决方案 > 如何通过 leaflet.pm 使 GeoJSON 数据不可编辑

问题描述

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

传单.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);
});

我想要做的是在删除模式打开时不要以任何方式删除静态坐标

标签: javascriptleafletdrawleaflet-geoman

解决方案


不将该pmIgnore选项应用于组,而是应用于每个单独的传单层。style使用 的和pointToLayer选项执行此操作L.GeoJSON,例如:

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

推荐阅读