GeoJSON:FeatureCollection中是否允许使用属性?

时间:2012-01-11 14:10:51

标签: openlayers geojson

我在规范http://geojson.org/geojson-spec.html

中找不到任何相关信息

是否允许properties中有FeatureCollection个密钥?或者它只能用于功能吗?

如果可能,我如何访问openlayers中的属性? 提前谢谢。

2 个答案:

答案 0 :(得分:8)

规范并未明确禁止,但功能集合没有属性。 GeoJSON规范仅提到了FeatureCollection的以下键:

  • type - 必须是`FeatureCollection
  • features - 一系列特色
  • bbox - 整个要素集的边界框

正如我从OpenLayers代码中看到的,properties仅针对要素实例进行处理,而不是针对要素集合进行处理。

答案 1 :(得分:1)

切换到Leaflet更容易,它接受带有FeatureCollection的GeoJSON。单击对象时,也可以获取Popup中的属性。

但是,Openlayers也可以访问FeatureCollection。 Openlayers的移动(jQuery Mobile)示例演示了访问属性。

http://openlayers.org/dev/examples/mobile-jq.html#mappage

单击黑色图标,您将看到包含这些属性的弹出窗体。

这是移动示例中GeoJSON的一部分。

{
    "type": "FeatureCollection",
    "features": [
        { "type": "Feature", 
          "geometry": {"type": "Point","coordinates": [1332700, 7906300]},
          "properties": {"Name": "Igor Tihonov","Country":"Sweden", "City":"Gothenburg"}
        },
        { "type": "Feature", 
          "geometry": {"type": "Point","coordinates": [790300, 6573900]},
          "properties": {"Name": "Marc Jansen","Country":"Germany", "City":"Bonn"}
        },
        { "type": "Feature", 
          "geometry": {"type": "Point","coordinates": [568600, 6817300]},
          "properties": {"Name": "Bart van den Eijnden","Country":"Netherlands", "City":"Utrecht"}
        },
        { "type": "Feature", 
          "geometry": {"type": "Point","coordinates": [-7909900, 5215100]}
        }
    ]
}