From 83d7845e57b86a9cda075b20ab5ecdbc1e1d49f5 Mon Sep 17 00:00:00 2001 From: Pierre TILAK Date: Wed, 18 Sep 2019 17:26:56 +1200 Subject: [PATCH] add MapProvider _isElevation attributes --- src/QtLocationPlugin/ElevationMapProvider.h | 1 + src/QtLocationPlugin/MapProvider.cpp | 2 ++ src/QtLocationPlugin/MapProvider.h | 2 ++ src/QtLocationPlugin/QGCMapEngine.cpp | 1 - src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp | 4 +++- 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/QtLocationPlugin/ElevationMapProvider.h b/src/QtLocationPlugin/ElevationMapProvider.h index 09b082729e..076dc51a07 100644 --- a/src/QtLocationPlugin/ElevationMapProvider.h +++ b/src/QtLocationPlugin/ElevationMapProvider.h @@ -21,6 +21,7 @@ class ElevationProvider : public MapProvider { ~ElevationProvider(); + bool _isElevationProvider(){return true;} protected: // Define the url to Request diff --git a/src/QtLocationPlugin/MapProvider.cpp b/src/QtLocationPlugin/MapProvider.cpp index e0eda12df0..666008ea1d 100644 --- a/src/QtLocationPlugin/MapProvider.cpp +++ b/src/QtLocationPlugin/MapProvider.cpp @@ -73,3 +73,5 @@ int MapProvider::lat2tileY(double lat, int z) { log(tan(lat * M_PI / 180.0) + 1.0 / cos(lat * M_PI / 180.0)) / M_PI) / 2.0 * pow(2.0, z))); } + +bool MapProvider::_isElevationProvider(){return false;} diff --git a/src/QtLocationPlugin/MapProvider.h b/src/QtLocationPlugin/MapProvider.h index bdf769fd03..79c1c6df14 100644 --- a/src/QtLocationPlugin/MapProvider.h +++ b/src/QtLocationPlugin/MapProvider.h @@ -33,6 +33,8 @@ class MapProvider : public QObject { virtual int lat2tileY(double lat, int z); + virtual bool _isElevationProvider(); + protected: QString _tileXYToQuadKey(int tileX, int tileY, int levelOfDetail); int _getServerNum(int x, int y, int max); diff --git a/src/QtLocationPlugin/QGCMapEngine.cpp b/src/QtLocationPlugin/QGCMapEngine.cpp index 498842fb96..0eff56253a 100644 --- a/src/QtLocationPlugin/QGCMapEngine.cpp +++ b/src/QtLocationPlugin/QGCMapEngine.cpp @@ -264,7 +264,6 @@ QGCMapEngine::getTileCount(int zoom, double topleftLon, double topleftLat, doubl } set.tileCount = (static_cast(set.tileX1) - static_cast(set.tileX0) + 1) * (static_cast(set.tileY1) - static_cast(set.tileY0) + 1); - qDebug() << "getTileCount : " << set.tileCount; set.tileSize = getQGCMapEngine()->urlFactory()->averageSizeForType(mapType) * set.tileCount; return set; } diff --git a/src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp b/src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp index 996cf98d58..c24dc7e41b 100644 --- a/src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp +++ b/src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp @@ -106,7 +106,9 @@ QGeoTiledMappingManagerEngineQGC::QGeoTiledMappingManagerEngineQGC(const QVarian while(i.hasNext()){ i.next(); - mapList.append(QGCGEOMAPTYPE(i.value()->getMapStyle(), i.key(), i.key(), false, false, getQGCMapEngine()->urlFactory()->getIdFromType(i.key()) )); + if(!i.value()->_isElevationProvider()){ + mapList.append(QGCGEOMAPTYPE(i.value()->getMapStyle(), i.key(), i.key(), false, false, getQGCMapEngine()->urlFactory()->getIdFromType(i.key()) )); + } } setSupportedMapTypes(mapList); -- GitLab