diff options
author | Paolo Angelelli <paolo.angelelli@theqtcompany.com> | 2016-08-15 14:44:22 +0200 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@theqtcompany.com> | 2016-08-30 11:01:16 +0000 |
commit | ee4bbb765e9a3ccfc9f5943d253290e3fc24484c (patch) | |
tree | 0d1a86be8d651aa7ab3c89840f37eb5b0a592d9a /src/plugins/geoservices/osm/qgeotilefetcherosm.cpp | |
parent | 52c8bfa6be4fc6c47f99c9f37c142554932c7228 (diff) | |
download | qtlocation-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.cpp | 3 |
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); |