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 回答