单击时切换mapbox功能的圆圈颜色

时间:2018-12-11 23:57:30

标签: mapbox

我从GeoJSON文件中加载了一组地址:

map.addSource(‘addresses', { 
    type: 'geojson',
    data: url,
    buffer: 1
});  

map.addLayer({
    id: 'address',
    type: "circle",
    source: “addresses",
    paint: {
        'circle-radius': {
            'base': 1.75,
            'stops': [[12, 2], [22, 180]]
        },
        'circle-color': [
            'match',
                ['get', 'status'],
                ‘ACTIVE', ‘blue',
                ‘INACTIVE', ‘red',
                '#aaa'  
            ]
        }
});

我想更改点击功能的颜色,但是我只知道如何选择点击功能的当前ID或状态,而不将其切换为相反的状态/颜色。

map.on('click', 'address', function (e) {
    id = e.features[0].properties.id;
    status = e.features[0].properties.status;
    if(status == ‘ACTIVE’) {
        // Change to inactive/red
    } else {
        // Change to active/blue
    }
});

有一种简单的方法吗?

0 个答案:

没有答案