Просмотр исходного кода

fix clustering for hight zoom levels

Viktoriia 1 год назад
Родитель
Сommit
c3921c898c
1 измененных файлов с 14 добавлено и 1 удалено
  1. 14 1
      src/utils/mapHelpers.ts

+ 14 - 1
src/utils/mapHelpers.ts

@@ -41,7 +41,20 @@ export const clusterMarkers = (markers: ItemSeries[], currentZoom: number, setCl
     turf.point([+marker.pointJSON[1], +marker.pointJSON[0]], { ...marker })
   ));
 
-  const distance = currentZoom < 7 ? 280 : currentZoom < 9 ? 100 : 35;
+  let distance = 0;
+  switch (true) {
+    case (currentZoom < 7):
+      distance = 280;
+      break;
+    case (currentZoom < 9):
+      distance = 100;
+      break;
+    case (currentZoom < 13):
+      distance = 35;
+      break;
+    default:
+      distance = 0;
+  }
   const maxDistance = Math.max(0.1, distance * Math.pow(0.5, currentZoom / 2));
 
   const clustered = turf.clustersDbscan(points, maxDistance, { minPoints: 11 });