【发布时间】:2017-01-30 07:28:02
【问题描述】:
我有一张地图,我在上面绘制多边形,这些多边形从 JSON 文件中获取属性。 根据 JSON 文件中的特征值,每个多边形填充一种颜色。 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": {
"parameterValue": 28
}
},
使用以前的格式,我可以阅读parameterValue 并使用以下脚本正确显示它
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]
}
},
并根据parameterValueXarrays 的第二个元素填充多边形。我已经通过以下方式进行了尝试:
var colors = function(feature) {
var id = feature.get('parameterValue0');
fill.setColor(
...
id[1] >= 20.00 && id <= 50.00 ? orange:
...
)
return style;
};
但无论值是什么,它都会用黑色填充多边形。
这个想法可以实现吗?有人可以建议我一种方法吗?
【问题讨论】:
-
为什么不直接将 JSON 解析为对象?
-
@modernator 抱歉,我不知道如何将 JSON 解析为对象,因为我还是初学者,但会搜索一下。
-
简单,只是" var data = JSON.parse(yourJSONResult); data.type; // 'feature' "
标签: javascript json openlayers-3 geojson