diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-04-07 11:23:55 +0200 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-04-12 11:18:29 +0000 |
commit | ae2329252e84a4931b321cacf529a13a3f06a0d5 (patch) | |
tree | 06d9a3dbb84491489e25dcabbee3fb2b1e717e66 /src/plugins/geoservices | |
parent | b82f9dd722e21fd7694221147dc0dccc94b2ad60 (diff) | |
download | qtlocation-ae2329252e84a4931b321cacf529a13a3f06a0d5.tar.gz |
Bound check QGeoTileSpec against min/max ZL before requesting it
Until now we have not honored the min/max zoom levels specified
in QGeoCameraCapabilities when requesting tiles.
As a result we have often fired requests for non-existing tile layers.
This change complements the added support for individual camera caps
for each map type, and makes the tile fetcher honor the bounds
defined in the camera capabilities.
This also allows to set larger zoom levels in the renderer, overzooming
existing tiles, without the fetcher firing requests for invalid
resources
Change-Id: Ic8a523a114147109f7ef8af3510a3ab78d06d714
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/plugins/geoservices')
6 files changed, 6 insertions, 6 deletions
diff --git a/src/plugins/geoservices/esri/geotilefetcher_esri.cpp b/src/plugins/geoservices/esri/geotilefetcher_esri.cpp index 62484bbb..8ceba374 100644 --- a/src/plugins/geoservices/esri/geotilefetcher_esri.cpp +++ b/src/plugins/geoservices/esri/geotilefetcher_esri.cpp @@ -48,7 +48,7 @@ QT_BEGIN_NAMESPACE -GeoTileFetcherEsri::GeoTileFetcherEsri(QObject *parent) : +GeoTileFetcherEsri::GeoTileFetcherEsri(QGeoTiledMappingManagerEngine *parent) : QGeoTileFetcher(parent), m_networkManager(new QNetworkAccessManager(this)), m_userAgent(QByteArrayLiteral("Qt Location based application")) { diff --git a/src/plugins/geoservices/esri/geotilefetcher_esri.h b/src/plugins/geoservices/esri/geotilefetcher_esri.h index 43dcfdfa..be948af1 100644 --- a/src/plugins/geoservices/esri/geotilefetcher_esri.h +++ b/src/plugins/geoservices/esri/geotilefetcher_esri.h @@ -52,7 +52,7 @@ class GeoTileFetcherEsri : public QGeoTileFetcher Q_OBJECT public: - explicit GeoTileFetcherEsri(QObject *parent = Q_NULLPTR); + explicit GeoTileFetcherEsri(QGeoTiledMappingManagerEngine *parent); inline const QByteArray &userAgent() const; inline void setUserAgent(const QByteArray &userAgent); diff --git a/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp b/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp index 062b4f89..732d04e9 100644 --- a/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp +++ b/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp @@ -44,7 +44,7 @@ QT_BEGIN_NAMESPACE -QGeoTileFetcherMapbox::QGeoTileFetcherMapbox(int scaleFactor, QObject *parent) +QGeoTileFetcherMapbox::QGeoTileFetcherMapbox(int scaleFactor, QGeoTiledMappingManagerEngine *parent) : QGeoTileFetcher(parent), m_networkManager(new QNetworkAccessManager(this)), m_userAgent("Qt Location based application"), m_format("png"), diff --git a/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.h b/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.h index e52651e1..47f3a8aa 100644 --- a/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.h +++ b/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.h @@ -50,7 +50,7 @@ class QGeoTileFetcherMapbox : public QGeoTileFetcher Q_OBJECT public: - QGeoTileFetcherMapbox(int scaleFactor = 2, QObject *parent = 0); + QGeoTileFetcherMapbox(int scaleFactor, QGeoTiledMappingManagerEngine *parent); void setUserAgent(const QByteArray &userAgent); void setMapIds(const QVector<QString> &mapIds); diff --git a/src/plugins/geoservices/osm/qgeotilefetcherosm.cpp b/src/plugins/geoservices/osm/qgeotilefetcherosm.cpp index f7c25d61..8c5778d1 100644 --- a/src/plugins/geoservices/osm/qgeotilefetcherosm.cpp +++ b/src/plugins/geoservices/osm/qgeotilefetcherosm.cpp @@ -78,7 +78,7 @@ QGeoTileFetcherOsmPrivate::~QGeoTileFetcherOsmPrivate() QGeoTileFetcherOsm::QGeoTileFetcherOsm(const QVector<QGeoTileProviderOsm *> &providers, QNetworkAccessManager *nm, - QObject *parent) + QGeoMappingManagerEngine *parent) : QGeoTileFetcher(*new QGeoTileFetcherOsmPrivate(), parent), m_userAgent("Qt Location based application"), m_providers(providers), m_nm(nm), m_ready(true) { diff --git a/src/plugins/geoservices/osm/qgeotilefetcherosm.h b/src/plugins/geoservices/osm/qgeotilefetcherosm.h index a7b89bad..859033cc 100644 --- a/src/plugins/geoservices/osm/qgeotilefetcherosm.h +++ b/src/plugins/geoservices/osm/qgeotilefetcherosm.h @@ -59,7 +59,7 @@ class QGeoTileFetcherOsm : public QGeoTileFetcher public: QGeoTileFetcherOsm(const QVector<QGeoTileProviderOsm *> &providers, QNetworkAccessManager *nm, - QObject *parent = 0); + QGeoMappingManagerEngine *parent); void setUserAgent(const QByteArray &userAgent); |