Я хочу установить значение clusterMaxZoom, основываясь на увеличении.
Итак, при очень высоком увеличении у меня есть некоторые настройки, а затем с какого-то момента у меня есть другие настройки.
Я думаю, что это можно сделать с помощью выражений, но в примерах они меняют свойства circleRadius:
paint: {
'circle-radius': [
'interpolate', ['linear'], ['zoom'],
10, ['/', ['-', 2017, ['number', ['get', 'Constructi'], 2017]], 30],
13, ['/', ['-', 2017, ['number', ['get', 'Constructi'], 2017]], 10],
],
'circle-opacity': 0.8,
'circle-color': 'rgb(171, 72, 33)'
}
});
Итак, я попытался сделать это:
при увеличении 5, установите clusterMaxZoom на 25
при увеличении 13 установите для кластера MaxZoom значение 250
.
Как это:
clusterMaxZoom: [
'interpolate', ['linear'], ['zoom'],
5, 25,
13, 250,
],
Вот так выглядит мой источник:
map.addSource('users', {
type: "geojson",
// Point to GeoJSON data. This example visualizes all M1.0+ users
// from 12/22/15 to 1/21/16 as logged by USGS' Earthquake hazards program.
data: markers,
cluster: true,
// clusterMaxZoom: 22, // Max zoom to cluster points on
clusterMaxZoom: [
'interpolate', ['linear'], ['zoom'],
5, 25,
13, 250,
],
clusterRadius: 250 // Radius of each cluster when clustering points (defaults to 50)
});
Но это не работает, я получаю эту ошибку:
sources.users.clusterMaxZoom: number expected, array found
Есть идеи, как изменить clusterMaxZoom на основе увеличения?