【问题标题】:LeafletJS GeoMan into JSON dataLeafletJS GeoMan 转换成 JSON 数据
【发布时间】:2020-11-03 07:32:00
【问题描述】:

我已将 GeoMan 添加到我的传单地图中,只是想知道是否有一种方法可以将所有绘制的特征导出为 JSON。我仅将它用于开发,因此 JSON 可以进入 console.log

我只是在努力解决它。这是我目前唯一的代码

map.pm.toggleGlobalDragMode();
map.pm.addControls({
  position: 'topright',
  editMode: true,



});

layer.pm.enable({ pinning: true, snappable: true })

【问题讨论】:

    标签: javascript json leaflet leaflet-geoman


    【解决方案1】:

    您可以使用此代码:

    function generateGeoJson(){
        var fg = L.featureGroup();    
        var layers = findLayers(map);
            layers.forEach(function(layer){
            fg.addLayer(layer);
             });
        console.log(fg.toGeoJSON());
    }
    
    function findLayers(map) {
        var layers = [];
        map.eachLayer(layer => {
          if (
            layer instanceof L.Polyline || //Don't worry about Polygon and Rectangle they are included in Polyline
            layer instanceof L.Marker ||
            layer instanceof L.Circle ||
            layer instanceof L.CircleMarker
          ) {
            layers.push(layer);
          }
        });
    
        // filter out layers that don't have the leaflet-geoman instance
        layers = layers.filter(layer => !!layer.pm);
    
        // filter out everything that's leaflet-geoman specific temporary stuff
        layers = layers.filter(layer => !layer._pmTempLayer);
    
        return layers;
      }
    

    小提琴:https://jsfiddle.net/falkedesign/054go8j2/

    更多信息请查看https://github.com/geoman-io/leaflet-geoman/issues/605

    其他信息:

    【讨论】:

    • 非常感谢您的回答。我也查看了更多信息,但出于某种原因,控制台正在输出我所有现有的图层,而不仅仅是新的图层。我不确定是否是因为添加图层的方式。 (出于某种原因,mini-markdown 讨厌我的代码)
    • var villageMarkers = new L.MarkerClusterGroup({ disableClusteringAtZoom: 2, maxClusterRadius: 600 }); villageMarkers.addLayer(villageLayer);
    • 没关系!我只是删除了“layer instanceof L.Marker ||”因为我现有的所有图层都只是标记,我现在不想添加新图层。仍然会很高兴找到问题,但非常感谢。
    猜你喜欢
    • 2020-07-23
    • 2014-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多