当前位置: 首页 > 知识库问答 >
问题:

小册子-Geoman如何正确检索GeoJSON

颜欣怡
2023-03-14
  • 绘制多边形-->✅
  • 从层获取Geojson-->✅
  • 数据库存储-->✅
  • 从数据库检索-->✅
  • 加载在传单地图,并能够编辑,裁剪和删除它。-->✅?
  • 从修改的层中获得新的geojson,或者如果我有两个层并删除了一个,只获得一个。-->X

我还没能从我通过geoman绘制控件所做的修改中获得新的geojson。无论我做什么,我总是得到相同的结果,我在开始时,当我加载数据到地图。

小提琴:https://jsfiddle.net/pjklr41q/34/

const shapes = [{
          "type": "Feature",
          "properties": {},
          "geometry": {
            "type": "Polygon",
            "coordinates": [
              [
                [-3.701856, 40.422481],
                [-3.707092, 40.418593],
                [-3.70177, 40.417809],
                [-3.701899, 40.422873],
                [-3.701856, 40.422481]
              ]
            ]
          }
        }];
const geojson = L.geoJSON(shapes).addTo(map);


map.eachLayer((layer) => {
 if (layer.pm) {
   const geojson = layer.toGeoJSON();

   if (layer instanceof L.Circle) {
     geojson.properties.radius = 10;
   }

   shapes.push(geojson);
}});

我不确定这是否是因为我加载数据的方式,直接使用l.geojson(data)或通过eachLayer函数不是我在本例中所需要的,但我现在有点迷路了。非常感谢你的帮助。

共有1个答案

郎曾笑
2023-03-14

您可以通过:l.pm.utils.findlayers(map)获得所有的Geoman图层。

在下一个2.7.0版本中,将有函数map.pm.getGeomanLayers()map.pm.getGeomandrawLayers()

因此,您可以通过以下方式获得新的geojson:

var layers = L.PM.Utils.findLayers(map);
var group = L.featureGroup();
layers.forEach((layer)=>{
    group.addLayer(layer);
});
shapes = group.toGeoJSON();
 类似资料:
  • 我正在使用https://pub.dev/packages/firebase_messagingv6。0.16和颤振v1。17.5 我正在尝试调用myBackgroundMessageHandler中的一个插件,它的代码是AppAvailability。启动应用程序('com.companyname.appname') 但我得到以下错误 插件在应用程序范围内没有任何问题。这是发生在我尝试的每一个插

  • 问题内容: 我正在使用:模块:请求-简化的HTTP请求方法,用于抓取带有重音字符等的网页。 我已经尝试过但没有成功。我仍然在结果中得到这个 字符。 是否有任何配置可以解决? 我不知道这是否是一个问题,但是我为此模块填写了一个。尚无答案。:/ 问题答案: 由于不推荐使用二进制,因此使用iconv并正确处理解码似乎是一个更好的主意: 重要的部分是将HTTP请求的编码设置为null 。

  • 2-我在FlatList中实现分页,所以当用户到达数据列表的末尾时,我调用一个函数来增加当前页,并根据当前页更新的情况,再次提取,因为我将to useEffect传递给依赖项数组 所以这里的问题是应该将以前的数据与新数据联系起来,所以我使用方法, 它工作得很好,但有时我收到一个警告,告诉我有一个重复的数据,当我使用扩展时不工作,我得到一个很大的错误,因为Flatlist keyExtractor问

  • 我通过在方法之外添加一个简单的Ride实例来测试它,它工作得很好。 我还尝试将监听器更改为,结果相同。 Edit2:当我试图从数据库中检索整数时,我会得到一条错误消息。

  • 问题内容: 考虑一个非常简单的模型,其中我们有位置,每个位置可以有零个或多个事件。位置将具有名称,描述和地理位置数据(经度/纬度)之类的属性。事件应附加到一个位置(其父级),并应具有名称和描述。 我想要做的是查询子文档(事件),以对其名称和描述进行全文搜索。我想找回匹配的事件,还可以获取其父位置的名称。我还想通过位置坐标缩小结果集。我不想获取与查询不匹配的任何事件。在Elastic Search中

  • 我试图熟悉JavaScript中的函数式编程。我刚读到指针函子是: 具有of函数的对象,可将任何单个值放入其中。 ES2015添加了一个rray.of使数组成为一个指向的仿函数。 我的问题是“单一价值”到底是什么意思? 我想做一个函数/容器(像https://drboolean.gitbooks.io/mostly-adequate-guide/content/ch8.html),它持有给定维度(