2015-01-26 68 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

相關問題