2017-01-30 1 views
0

Ich habe eine Karte, auf der ich Polygone zeichne, die ihre Eigenschaften aus einer JSON-Datei nehmen. Je nach Feature-Werten in der JSON-Datei wird jedes Polygon mit einer Farbe gefüllt. Ein Beispiel für eine Funktion aus der JSON-Datei ist die folgende:GeoJSON - Wie liest man ein Feature aus einem Array?

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

das vorherige Format verwenden, ich habe die parameterValue lesen konnte und zeigen es die follwoing Skript

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

jedoch richtig verwendet wird, ich möchte folgendes

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

und füllen Sie die Polygone entsprechend dem zweiten Element der parameterValueX Arrays. Ich habe so durch die folgende versucht:

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

aber es hielt die Polygone mit schwarzer Füllung, egal, was die Werte sind.

Ist diese Idee erreichbar? Könnte mir bitte jemand einen Weg vorschlagen, es zu tun?

+0

Warum Sie nicht nur JSON analysieren zu widersprechen? – modernator

+0

@modernator Sorry, aber ich weiß nicht, ob ich JSON zum Objekt analysieren soll, weil ich noch Anfänger bin, aber danach suchen werde. – philippos

+0

Einfach, nur "var data = JSON.parse (yourJSONResult); data.type; // 'feature'" – modernator

Antwort

0

Ich habe das Problem wie folgt gelöst:

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