Leaflet在将FeatureGroup转换为GeoJson时不绘制属性

Chr*_*ix3 6 leaflet leaflet.draw

我无法使用Leaflet(0.7.7)/Leaflet.Draw(最新)将我的Layer属性转换为GEOJson对象的属性.我的工作流程是:

1创建地图: var map = L.map('#map', options);

2创建FeatureGroup: features= new L.FeatureGroup();

3添加到宣传单地图: map.addLayer(features);

4在draw:created活动中,我正在捕捉e.layer并添加一堆属性:

var layer = e.layer;

layer.properties = { Title: 'Hello' };

features.addLayer(layer);

geo_features = features.toGeoJSON();

但是,我geo_features在每个功能中总是有空属性属性,我无法弄明白!

ghy*_*ybs 8

iH8的初步答案几乎是正确的.

要指定将出现在矢量图层的GeoJSON的导出属性(即通过它的.toGeoJSON()方法),你必须填补其feature.typefeature.properties成员:

var myVectorLayer = L.rectangle(...) // whatever

var feature = myVectorLayer.feature = myVectorLayer.feature || {};
feature.type = "Feature";
feature.properties = feature.properties || {};
feature.properties["Foo"] = "Bar";
Run Code Online (Sandbox Code Playgroud)

现在myVectorLayer.toGeoJSON()返回一个有效的GeoJSON特征对象,表示为:

{
  "type": "Feature",
  "properties": {
    "Foo": "Bar"
    // More properties that may be pre-filled.
  },
  "geometry": // The vector geometry
}
Run Code Online (Sandbox Code Playgroud)