我有一个由大约100个条目(多多边形几何图形)组成的cartoDB数据集,我使用cartodb.js应用编程接口检索它。在单击区域时,更改给定条目(multiplygon)的不透明度的最佳方法是什么?我已经找到了that piece code,但这意味着运行一个新的SQL查询,并在每次选择多边形时添加一个层,这看起来并不是最优的。
非常感谢!
发布于 2016-09-15 03:18:50
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;
}https://stackoverflow.com/questions/35287729
复制相似问题