in src/layers/mapbox-utils.js [70:94]
export function updateMapboxLayers(map, newLayers = {}, oldLayers = null) {
// delete no longer existed old layers
if (oldLayers) {
checkAndRemoveOldLayers(map, oldLayers, newLayers);
}
// insert or update new layer
Object.values(newLayers).forEach(overlay => {
const {id: layerId, config, data, sourceId, isVisible} = overlay;
if (!data && !config) {
return;
}
const {data: oldData, config: oldConfig} = (oldLayers && oldLayers[layerId]) || {};
if (data && data !== oldData) {
updateSourceData(map, sourceId, data);
}
// compare with previous configs
if (oldConfig !== config) {
updateLayerConfig(map, layerId, config, isVisible);
}
});
}