Openlayers:从GeoJson中以编程方式选择功能

Openlayers:从GeoJson中以编程方式选择功能,openlayers,geojson,Openlayers,Geojson,我正在从事一个使用openlayers(version2.14)显示Bing层(GeoJSON格式)的项目,我在阅读GeoJSON和显示功能方面没有问题,但我想以编程方式选择一个功能,例如,有一个表显示所有功能属性(GeoJSON格式。示例: {“类型”:“功能集合”, “特征”:[{“类型”:“特征”,“属性”:{},“几何”:{“类型”:“点”,“坐标”:[-7923751.42325225233536.7371399]},“crs”:{“类型”:“名称”,“属性”:{“名称”:“urn:o

我正在从事一个使用openlayers(version2.14)显示Bing层(GeoJSON格式)的项目,我在阅读GeoJSON和显示功能方面没有问题,但我想以编程方式选择一个功能,例如,有一个表显示所有功能属性(GeoJSON格式。示例:

{“类型”:“功能集合”, “特征”:[{“类型”:“特征”,“属性”:{},“几何”:{“类型”:“点”,“坐标”:[-7923751.42325225233536.7371399]},“crs”:{“类型”:“名称”,“属性”:{“名称”:“urn:ogc:def:crs:ogc:1.3:CRS84”} ],}

),当我单击表中的一行时,我希望使用该行中的GEOJSON数据选择或突出显示地图上的特定要素

我该怎么做

谢谢

您可以使用“getFeaturesByAttribute”方法

或遍历所有功能:

 for(var i = 0; i < yourgeojsonlayer.features.length; i++) { 
    if(yourgeojsonlayer.features[i].attributes.searchedAttribute == 'searchedValue')
     { selectFeatureControl.select(yourgeojsonlayer.features[i]); break; } 
    }
for(var i=0;i
Ps:首先需要创建一个select控件,并指定在for循环中使用的变量名(此处为selectFeatureControl)

看看我这里的例子:和