forked from MapComplete/MapComplete
Throw error if tilerange to big, prevent performance problem
This commit is contained in:
parent
32689f5179
commit
80d4beb38e
1 changed files with 9 additions and 0 deletions
|
@ -1,3 +1,6 @@
|
||||||
|
import {control} from "leaflet";
|
||||||
|
import zoom = control.zoom;
|
||||||
|
|
||||||
export interface TileRange {
|
export interface TileRange {
|
||||||
xstart: number,
|
xstart: number,
|
||||||
ystart: number,
|
ystart: number,
|
||||||
|
@ -96,6 +99,12 @@ export class Tiles {
|
||||||
const ystart = Math.min(t0.y, t1.y)
|
const ystart = Math.min(t0.y, t1.y)
|
||||||
const yend = Math.max(t0.y, t1.y)
|
const yend = Math.max(t0.y, t1.y)
|
||||||
const total = (1 + xend - xstart) * (1 + yend - ystart)
|
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 {
|
return {
|
||||||
xstart: xstart,
|
xstart: xstart,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue