2017-01-30 9 views
0

マップがあり、そこにJSONファイルからプロパティを取得しているポリゴンを描画しています。 JSONファイル内のフィーチャ値に応じて、各ポリゴンは色で塗りつぶされます。 、私はparameterValueを読んで、それが適切しかしfollwoingスクリプトGeoJSON - 配列からフィーチャーを読み取る方法は?

var colors = function(feature) { 
var id = feature.get('parameterValue'); 
fill.setColor(
... 
    id >= 20.00 && id <= 50.00 ? orange: 
... 
) 
return style; 
}; 

を使用して示すことができ、以前の形式を使用して

{ 
    "type": "Feature", 
    "id": "767884", 
    "geometry": { 
    "type": "Polygon", 
    "coordinates": [ 
     [ 
     [136.875, 35.17291667], 
     [136.878125, 35.17291667], 
     [136.878125, 35.17083333], 
     [136.875, 35.17083333], 
     [136.875, 35.17291667] 
     ] 
    ] 
    }, 
    "properties": { 
    "parameterValue": 28 
    } 
}, 

: JSONファイルから機能の例は以下のとおりです。私は、次の

{ 
    "type": "Feature", 
    "id": "767884", 
    "geometry": { 
    "type": "Polygon", 
    "coordinates": [ 
     [ 
     [136.875, 35.17291667], 
     [136.878125, 35.17291667], 
     [136.878125, 35.17083333], 
     [136.875, 35.17083333], 
     [136.875, 35.17291667] 
     ] 
    ] 
    }, 
    "properties": { 
    "parameterValue0": [29, 28], 
    "parameterValue1": [30, 29.5], 
    "parameterValue2": [31, 21.9] 
    } 
}, 
をしたいです10

とし、parameterValueX配列の2番目の要素に従ってポリゴンを塗りつぶします。私は次のようでそうしようとしている:

var colors = function(feature) { 
var id = feature.get('parameterValue0'); 
fill.setColor(
... 
    id[1] >= 20.00 && id <= 50.00 ? orange: 
... 
) 
return style; 
}; 

が、それは関係なく値が何であるか、黒でポリゴンを満たしていないまま。

このアイデアは達成可能ですか?誰も私にそれをする方法を提案できますか?

+0

あなただけのオブジェクトへのJSONをパースしていないのはなぜ? – modernator

+0

@modernator申し訳ありませんが、私はまだ初心者ですからJSONを解析することについてはわかりませんが、それについては検索します。 – philippos

+0

単純な "var data = JSON.parse(yourJSONResult); data.type; // 'feature'" – modernator

答えて

0

私は次のような問題を解決した:

var colors = function(feature) { 
var id = feature.get('parameterValue0'); 
var id = id[1] 
fill.setColor(
... 
    id >= 20.00 && id <= 50.00 ? orange: 
... 
) 
return style; 
};