我从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
}
});
有一种简单的方法吗?