小编wbe*_*end的帖子

单击时重置传单多边形上的样式

我有一张用 leaflet.js 制作的地图,其中包含由 70 个多边形组成的 geoJSON 层。每次用户单击多边形时,它都会突出显示,并且侧面板会填充数据并打开:

function clickFeature(e) {
    var layer = e.target;
        layer.setStyle({
        weight: 3,
        color: '#666',
        dashArray: '',
        fillOpacity: 0.7
    });

    info.update(layer.feature.properties);
    $( "#mypanel" ).panel("open");
}
Run Code Online (Sandbox Code Playgroud)

效果很好。但我需要更改它,以便每次单击多边形时,它都会同时突出显示,并且先前单击的多边形返回到原始样式,因此一次只能“选择”一个多边形。

我已经尝试过这个,但它不起作用(面板不再更新或打开):

var lastClickedLayer;
function clickFeature(e) {
    geojson.resetStyle(lastClickedLayer);
    var layer = e.target;
        layer.setStyle({
        weight: 3,
        color: '#666',
        dashArray: '',
        fillOpacity: 0.7
    });

    info.update(layer.feature.properties);
    $( "#mypanel" ).panel("open");
    layer = lastClickedLayer;
}
Run Code Online (Sandbox Code Playgroud)

非常感谢任何帮助。

javascript leaflet mapbox

4
推荐指数
1
解决办法
7063
查看次数

标签 统计

javascript ×1

leaflet ×1

mapbox ×1