我有一个cartoDB数据集,由大约100个条目(多边形几何)组成,我使用cartodb.js API检索。 在点击区域时,改变给定条目(乘法)的不透明度的最佳方法是什么? 我找到了that piece code,但这意味着每次选择一个看起来不是最佳的多边形时,都会运行一个新的SQL查询并添加一个图层。
非常感谢!
答案 0 :(得分:1)
cartoDb中的图层有一个关联的css,所以无论你想要什么,你都可以改变这个css。
cartodb.createLayer(map, layerSource)
.addTo(map)
.done(function(layer) {
var layerCartoDBDis = layer.getSubLayer(0);
var layerCartoDBBa = layer.getSubLayer(1);
});
})
.error(function(err) {
console.log("error: " + err);
}); `enter code here`
在你的javascript中
<select id="tipo" >
<option value="1">layer1</option>
<option value="2">layer2</option>
</select>
$('#tipo').on('change', function(e){
var capa = $('#tipo').val();
leyenda(capa);
switch (capa) {
case "0":
layerCartoDBDis.set('SELECT * FROM demo_DBDis');
layerCartoDBDis.set('cartocss', '#demo_DBDis{ polygon-fill: #FFFFCC; polygon-opacity: 0.2; line-color: #FFF; line-width: 0.5; line-opacity: 1;'} );
break;
case "1":
layerCartoDBBa.set('SELECT * FROM demo_DBBa');
layerCartoDBBa.set('cartocss', '#demo_DBBa{ polygon-fill: #FFFFCC; polygon-opacity: 0.2; line-color: #FFF; line-width: 0.5; line-opacity: 1;'} );
break;
}