From 80d4beb38e49782dcff24bb7aae8f2175dfb840c Mon Sep 17 00:00:00 2001 From: pietervdvn Date: Fri, 1 Oct 2021 02:56:21 +0200 Subject: [PATCH] Throw error if tilerange to big, prevent performance problem --- Models/TileRange.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Models/TileRange.ts b/Models/TileRange.ts index da30e498ce..06ce4b765e 100644 --- a/Models/TileRange.ts +++ b/Models/TileRange.ts @@ -1,3 +1,6 @@ +import {control} from "leaflet"; +import zoom = control.zoom; + export interface TileRange { xstart: number, ystart: number, @@ -96,6 +99,12 @@ export class Tiles { const ystart = Math.min(t0.y, t1.y) const yend = Math.max(t0.y, t1.y) const total = (1 + xend - xstart) * (1 + yend - ystart) + if(total > 1000){ + console.trace("Detected a big tilerange which'll be iterated over: zoomlevel", zoomlevel, "bounds:", [[lon0, lat0], [lon1, lat1]]) + } + if(total > 10000){ + throw "Tilerange too big" + } return { xstart: xstart,