From 6f1f5fd965527d3cc92d351828fe96897982d0d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20T=C5=AFma?= Date: Sun, 10 Dec 2023 15:34:39 +0100 Subject: [PATCH] Limit the overzoom to max 3 levels --- src/map/mbtilesmap.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/map/mbtilesmap.cpp b/src/map/mbtilesmap.cpp index d03d90de..12c0ad33 100644 --- a/src/map/mbtilesmap.cpp +++ b/src/map/mbtilesmap.cpp @@ -9,7 +9,7 @@ #include "osm.h" #include "mbtilesmap.h" - +#define MAX_OVERZOOM 3 #define META_TYPE(type) static_cast(type) static RectC str2bounds(const QString &str) @@ -88,8 +88,12 @@ bool MBTilesMap::getZooms() } if (_scalable) { - for (int i = _zooms.last().base + 1; i <= OSM::ZOOMS.max(); i++) + for (int i = _zooms.last().base + 1; i <= OSM::ZOOMS.max(); i++) { + Zoom z(i, _zooms.last().base); + if (z.z - z.base > MAX_OVERZOOM) + break; _zooms.append(Zoom(i, _zooms.last().base)); + } } _zi = _zooms.size() - 1;