2017-01-30 25 views
0

我有一張地圖,我正在繪製從JSON文件中獲取屬性的多邊形。 根據JSON文件中的特徵值,每個多邊形都會填充一種顏色。 從JSON文件特徵的一個例子是:GeoJSON - 如何從數組中讀取特徵?

{ 
    "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 
    } 
}, 

使用以前的格式,我可以讀取parameterValue並正確使用follwoing腳本

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": { 
    "parameterValue0": [29, 28], 
    "parameterValue1": [30, 29.5], 
    "parameterValue2": [31, 21.9] 
    } 
}, 

並根據parameterValueX陣列的第二個元素填充多邊形。我已經試過了以下內容:

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; 
};