2015-01-26 136 views
0

我正在使用openlayers(版本2.14)来显示Bing图层(GeoJSON格式)的项目,阅读GeoJSON和显示功能时我没有问题,但我想选择要素编程,例如,有显示所有的特征的属性表(以GeoJSON format.sample:Openlayers:从GeoJson以编程方式选择一个功能

{ “类型”: “的FeatureCollection”, “特征”:[{ “类型”:”特征 “ ”属性“:{}, ”几何“:{ ”类型“: ”点“, ”坐标“:[ - 7923751.4232522,5233536.7371399]}, ”CRS“:{ ”类型“: ”姓名“,” 属性“:{”name“:”urn:ogc:def:crs:OGC:1.3:CRS84“}}} ],}

),当我点击表中的一行时,我想使用该行中的GEOJSON数据选择或突出显示地图上的特定功能。

我该怎么做?

感谢

回答

1

你可以使用方法“getFeaturesByAttribute”

,或者通过所有功能迭代:

for(var i = 0; i < yourgeojsonlayer.features.length; i++) { 
    if(yourgeojsonlayer.features[i].attributes.searchedAttribute == 'searchedValue') 
    { selectFeatureControl.select(yourgeojsonlayer.features[i]); break; } 
    } 

PS:进行必要先创建一个选择控制并分配变量名你用于for循环(这里selectFeatureControl)

看我的例子:http://jsfiddle.net/expedio/sh9wv4m7/ and http://jsfiddle.net/3p5q0ybh/

+0

谢谢托马斯,这是非常有用的例子 – user37620 2015-01-31 18:11:35

相关问题