【问题标题】:geoJson properties add/updategeoJson 属性添加/更新
【发布时间】:2015-08-13 15:59:30
【问题描述】:

是否可以通过 d3 / 传单动态地将属性添加到功能。

我有这种 GeoJson 文件:

        {"type":"Feature","id":"01","properties":
{"name":"Alabama","density":94.65, "news":22},
"geometry":{"type":"Polygon","coordinates":
[[[-87.359296,35.00118],[-85.606675,34.984749],[-85.431413,34.124869]...

我想更新新闻属性,例如用户点击该功能,或者如果新闻不在此功能中,则添加它。这可能吗?

【问题讨论】:

  • 嗨,我对 OpenLayers 比 Leaflet 更熟悉,但我猜你的 geojson 被解释为具有属性的特征对象。可以编辑这些对象属性,但您不会编辑 geojsonfile 本身。

标签: javascript d3.js leaflet geojson


【解决方案1】:

当然有可能:GeoJSON 是 JSON 的超集,它在 JavaScript 中表示为普通对象。如果此 GeoJSON 功能的属性存储为变量 feature,要更新它的属性,您可以编写

feature.properties.news = 23;

【讨论】:

  • 好的,那太好了,如果它不存在,是否可以创建该新属性,例如feature.properties.add("news") 之类的?
  • 更新属性与添加新属性的代码相同。 feature.properties.foobar = 10 将创建一个名为 foobar 的新属性,其值为 10,或更新现有属性。
  • 好的,效果很好,但出现了一个新问题——道具只是暂时的,我该如何保存新文件?
  • 这超出了这个问题的范围:在您的网络浏览器中运行的 JavaScript 无法自行将文件保存到磁盘。
猜你喜欢
  • 1970-01-01
  • 2023-03-28
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多