0

私は次のように TileMill CartoCSS で mapnik-XML ブロックを実現しようとしています (!!! ルールのシンボライザーは重複していません !!!):

<Rule>
    <Filter>[attr_1]=value_1 and [attr_2]=value_2</Filter>
    <LineSymbolizer ... />
</Rule>
.
.
<Rule>
    <Filter>[attr_1]=value_3 and [attr_2]=value_4</Filter>
    <PolygonSymbolizer .../>    
</Rule>

<Rule>
    <ElseFilter/>
    <TextSymbolizer .../>
</Rule>  

また、else-filter の作成方法をドキュメントで見つけられませんでした。

[attr_1 = value_1] [attr_2 = value_2] {
    ::line-symb {
        line-color: @color;
    }
}
.
.
[attr_1 = value_3] [attr_2 = value_4] {
    ::polygon-symb {
        polygon-fill: @color;
    }
}

// <ElseFilter/> ...

何かアドバイス?

4

1 に答える 1

0

に相当するものelseはありません: CartoCSS を CSS と考えてください。これには「else」もありません: 一般的なケースに適用されるルールを書くだけです。そのため、レイヤーをその属性でスタイリングする場合、else属性フィルターを使用せずに、レイヤーに適用されるルールを作成することで表現されます。

于 2014-04-15T13:28:08.137 に答える