javascript - CartoDB/javascript : highlight multipolygon on click

标签 javascript cartodb

我有一个由大约 100 个条目(多多边形几何图形)组成的 cartoDB 数据集,我使用 cartodb.js API 检索该数据集。 单击区域时更改给定条目(倍数)的不透明度的最佳方法(性能方面)是什么? 我找到了that piece code但这意味着每次选择多边形时都要运行新的 SQL 查询并添加一个图层,这看起来并不理想。

非常感谢!

最佳答案

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;
}

关于javascript - CartoDB/javascript : highlight multipolygon on click,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35287729/

相关文章:

javascript - 如何在 Acumatica 中使用 javascript?

javascript - 通过虚拟帧缓冲设备绘制到 HTML5 Canvas

javascript - Cartodb 信息窗口未在 map 上显示变量

javascript - 通过 CARTO 从带有零 the_geom 参数的表创建 map

javascript - CartoDB - 单击某个点时缩放到特定范围?

mapping - Cartojs4 - 多值圆环图标记

javascript - 淡入/淡出文本幻灯片

javascript - typescript 设置属性错误

javascript - 使用 RequireJS 动态添加 Brightcove 视频播放器

javascript - 通过连接提高自定义 CartoDB 层可视化的性能