我正在尝试使用JS库在CartoDB中创建choropleth地图。
如何在层上动态创建cartoCSS?
基于专栏,这似乎是可能的?
例如,使用内置向导将生成以下内容。我想以某种方式动态生成它使用自定义颜色和前端的列名。
#mytable{
polygon-fill: #FFFFB2;
polygon-opacity: 0.8;
line-color: #FFF;
line-width: 0.5;
line-opacity: 1;
}
#mytable [ col_xyz <= 12505.969707] {
polygon-fill: #B10026;
}
#mytable [ col_xyz <= 3650.909837] {
polygon-fill: #E31A1C;
}
#mytable [ col_xyz <= 1656.60976] {
polygon-fill: #FC4E2A;
}
#mytable [ col_xyz <= 677.226857] {
polygon-fill: #FD8D3C;
}
#mytable [ col_xyz <= 333.140676] {
polygon-fill: #FEB24C;
}
#mytable [ col_xyz <= 170.576913] {
polygon-fill: #FED976;
}
#mytable [ col_xyz <= 51.090065] {
polygon-fill: #FFFFB2;
}
http://docs.cartodb.com/cartodb-platform/cartodb-js.html#sublayersetcartocsscss
发布于 2015-10-13 11:45:21
是的-你会想要使用createLayer方法,让每个多边形都有自己的子层…
cartodb.createLayer(map, {
user_name: 'mycartodbuser',
type: 'cartodb',
sublayers: [{
sql: "SELECT * FROM table_name",
cartocss: '#table_name {polygon-fill: #F0F0F0;}'
},
{
sql: "SELECT * FROM table_name",
cartocss: '#table_name {polygon-fill: #FFFFFF;}'
}]
})
.addTo(map)
.done(function(layer) {
//DO STUFF
});也许有更好的方法可以做到这一点,但它对我很有效。
http://docs.cartodb.com/cartodb-platform/cartodb-js.html
https://stackoverflow.com/questions/32848253
复制相似问题