首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CartoDB / javascript :单击时高亮显示多多边形

CartoDB / javascript :单击时高亮显示多多边形
EN

Stack Overflow用户
提问于 2016-02-09 16:59:55
回答 1查看 141关注 0票数 0

我有一个由大约100个条目(多多边形几何图形)组成的cartoDB数据集,我使用cartodb.js应用编程接口检索它。在单击区域时,更改给定条目(multiplygon)的不透明度的最佳方法是什么?我已经找到了that piece code,但这意味着运行一个新的SQL查询,并在每次选择多边形时添加一个层,这看起来并不是最优的。

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-09-15 03:18:50

cartoDb中的层有一个相关的css,所以你可以随意修改这个css。

代码语言:javascript
复制
 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中

代码语言: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;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35287729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档