Переключить цвет круга элемента карты при щелчке - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть набор адресов, которые я загружаю из файла 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'  
            ]
        }
});

Я хочу изменить цвет выбранной функции, однако я знаю только, как выбрать текущий идентификатор или СОСТОЯНИЕщелкнула функция, не переключая ее на противоположный статус / цвет.

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

Есть ли простой способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...