fix(street-level): deduplicate overlapping dateline tile halves

This commit is contained in:
Rudy Celekli committed 2026-10-14 14:17:56 -04:00
1 parent 6dd4d0156f
commit ba58a5ec50
4 files changed
+28 -1

No files matched your search

+6 -1
View File
@@ -147,7 +147,12 @@ export function tilesForBbox(bbox, z, { limit = Infinity, focus = null } = {}) {
return Math.min(dx, n - dx) ** 2 + (tile.y - centre.y) ** 2;
};
// Each tile's distance is computed once; ties keep their row order.
const ranked = tiles
const unique = [
...new Map(
tiles.map((tile) => [`${tile.x}/${tile.y}/${tile.z}`, tile]),
).values(),
];
const ranked = unique
.map((tile) => ({ tile, d: distance2(tile) }))
.sort((a, b) => a.d - b.d)
.map(({ tile }) => tile);