У меня проблема с обновлением mapbox для фильтрации значений моего кластера на основе ползунка. Существует 3 слоя, и некластеризованный слой обновляется в соответствии с ползунком, а кластерные слои - нет. Смотрите в действии здесь: https://blue -volcano.com / chart /
Я попытался запустить несколько различных операций фильтрации и искал в Интернете, что это может быть, хотя пока что не повезло.
Это настройки слоя и работа при начальной загрузке:
map.addLayer({
id: "clusters",
type: "circle",
source: "members",
filter: ["has", "point_count"],
paint: {
"circle-color": [
"step",
["get", "point_count"],
"#162930",
20,
"#162930",
30,
"#162930"
],
"circle-radius": [
"step",
["get", "point_count"],
20,
50,
30,
100,
40
]
}
});
map.addLayer({
id: "cluster-count",
type: "symbol",
source: "members",
filter: ["has", "point_count"],
layout: {
"text-field": "{point_count_abbreviated}",
"text-size": 14
},
paint: {
"text-color": "#ffffff"
}
});
map.addLayer({
id: "unclustered-point",
type: "circle",
source: "members",
filter: ["!", ["has", "point_count"]],
paint: {
"circle-color": "#162930",
"circle-radius": 4,
"circle-stroke-width": 1,
"circle-stroke-color": "#fff"
}
});
А вот функция ползунка изменения года:
function ChangeSlider(year)
{
var clusterFilter=[
"all",
["has", "point_count"],
['<=', ['number', ['get', 'yearjoined']], year]
]
var unclusterFilter=[
"all",
["!", ["has", "point_count"]],
['<=', ['number', ['get', 'yearjoined']], year]
]
map.setFilter('clusters',clusterFilter);
map.setFilter('cluster-count',clusterFilter);
map.setFilter('unclustered-point',unclusterFilter);
document.getElementById('active-year').innerText = year;
}
Значения ползункаПроходите правильно, и если вы полностью приблизитесь к где-нибудь, например, в Германию, и используете ползунок, вы увидите, что поведение работает при смене ползунка (оно исчезает, когда в 2020 году, и появляется, когда в 2019 году). * Любые указатели очень ценятся.