2017-05-28 6 views
1

オンラインで見つかったすべての例は、そのプロパティのプロパティに応じてスタイルを設定する方法について、そのプロパティが特定の値に対応するかどうかを評価するswitch文を使用します。私は数値tresholdに応じて、機能の色を決定したい場合はどうリーフレットの比較演算子に応じてスタイルを設定する方法

L.geoJSON(states, { 
style: function(feature) { 
    switch (feature.properties.party) { 
     case 'Republican': return {color: "#ff0000"}; 
     case 'Democrat': return {color: "#0000ff"}; 
    } 
} 
}).addTo(map); 

:たとえば

が、これはフォームone of Leaflet's公式チュートリアルを取っていますか?特定の値よりも大きいpropertyX(数字である)を持つすべてのフィーチャが赤色に、そうでなければ青色になるとします。

私はthis postを見つけました。ここでは、1人のユーザーがswitch文が比較のために作成されていないと説明しています。どうすればいいですか?

外部機能(下記のコードを参照)を使用する場合、後者は機能のプロパティにアクセスできないと思われます。

L.geoJSON(states, { 
    style: styling 
    }).addTo(map); 

function styling() { 
    if (feature.properties.numericProp > 100) { 
     return {color: "red"} 
    } else { 
     return {color: "blue"} 
    } 
} 

答えて

1

機能があなたの関数のパラメータを渡される、あなたはそれを追加するのを忘れ:

function styling (feature) { 
    // feature is now available 
} 
+0

正しいです!ありがとう.. フィーチャプロパティにアクセスするために同じパターンを実行しようとしている人は、次のように書いてください: ファンクションスタイリング(フィーチャ){ //フィーチャが利用可能になりました。 var myProp = feature.properties.myProp; if(myProp> treshold){//何かを実行します。 } } – Fede9390