Я пытаюсь сделать так, чтобы создатели оставались кластерными, даже если вы очень сильно увеличены, а маркеры не так близки друг к другу.
Проблема, которую я хочу решить, заключается в том, что я никогда не должен показывать фактическое местоположение отдельных маркеров, поэтому я хочу, чтобы даже при высоких уровнях масштабирования, и маркеры не были близко друг к другу, чтобы они по-прежнему группировались.
Как мне этого добиться?
Я пытался установить clusterMaxZoom на разные уровни, но, похоже, это не влияет на кластеризацию кластеров.
Вот код для кластеризации:
map.on('load', function() {
// Add a new source from our GeoJSON data and set the
// 'cluster' option to true. GL-JS will add the point_count property to your source data.
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: 14, // Max zoom to cluster points on
clusterRadius: 50 // Radius of each cluster when clustering points (defaults to 50)
});
map.addLayer({
id: "clusters",
type: "circle",
source: "users",
filter: ["has", "point_count"],
paint: {
// Use step expressions (https://docs.mapbox.com/mapbox-gl-js/style-spec/#expressions-step)
// with three steps to implement three types of circles:
// * Blue, 20px circles when point count is less than 100
// * Yellow, 30px circles when point count is between 100 and 750
// * Pink, 40px circles when point count is greater than or equal to 750
"circle-color": ["step", ["get", "point_count"], "#51bbd6", 100, "#f1f075", 750, "#f28cb1" ],
"circle-radius": ["step",["get", "point_count"], 20, 100, 30, 750, 40]
}
});