summaryrefslogtreecommitdiff
path: root/src/plugins/geoservices/osm/qgeotilefetcherosm.cpp
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@theqtcompany.com>2016-08-15 14:44:22 +0200
committerPaolo Angelelli <paolo.angelelli@theqtcompany.com>2016-08-30 11:01:16 +0000
commitee4bbb765e9a3ccfc9f5943d253290e3fc24484c (patch)
tree0d1a86be8d651aa7ab3c89840f37eb5b0a592d9a /src/plugins/geoservices/osm/qgeotilefetcherosm.cpp
parent52c8bfa6be4fc6c47f99c9f37c142554932c7228 (diff)
downloadqtlocation-ee4bbb765e9a3ccfc9f5943d253290e3fc24484c.tar.gz
OSM: Honor min/max zoom level limits coming from the provider records
This patch prevents the tile fetcher from requesting tiles with a z values that is outside the range defined in the provider record. If the provider record does not specify these values, the default values are used (0 and 20) Change-Id: I5c3f7be8bbd2b2ce6c8c8d6d8d81431237e60f5b Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/plugins/geoservices/osm/qgeotilefetcherosm.cpp')
-rw-r--r--src/plugins/geoservices/osm/qgeotilefetcherosm.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/geoservices/osm/qgeotilefetcherosm.cpp b/src/plugins/geoservices/osm/qgeotilefetcherosm.cpp
index 0d7fa58e..c7de7cc9 100644
--- a/src/plugins/geoservices/osm/qgeotilefetcherosm.cpp
+++ b/src/plugins/geoservices/osm/qgeotilefetcherosm.cpp
@@ -121,6 +121,9 @@ QGeoTiledMapReply *QGeoTileFetcherOsm::getTileImage(const QGeoTileSpec &spec)
}
id -= 1; // TODO: make OSM map ids start from 0.
+ if (spec.zoom() > m_providers[id]->maximumZoomLevel() || spec.zoom() < m_providers[id]->minimumZoomLevel())
+ return Q_NULLPTR;
+
const QUrl url = m_providers[id]->tileAddress(spec.x(), spec.y(), spec.zoom());
QNetworkRequest request;
request.setHeader(QNetworkRequest::UserAgentHeader, m_userAgent);