From 65c30db018acd1f9b490e846c6f3b592cadb6c53 Mon Sep 17 00:00:00 2001 From: Pierre TILAK Date: Fri, 13 Sep 2019 12:13:25 +1200 Subject: [PATCH] Re-add GoogleSat --- src/QtLocationPlugin/GoogleMapProvider.cpp | 23 ++++++++++++++++++++++ src/QtLocationPlugin/GoogleMapProvider.h | 11 ++++++++++- src/QtLocationPlugin/QGCMapUrlEngine.cpp | 2 +- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/QtLocationPlugin/GoogleMapProvider.cpp b/src/QtLocationPlugin/GoogleMapProvider.cpp index ef8eb3b75..fd3fcf8e6 100644 --- a/src/QtLocationPlugin/GoogleMapProvider.cpp +++ b/src/QtLocationPlugin/GoogleMapProvider.cpp @@ -220,3 +220,26 @@ QString GoogleMapProvider::_getURL(int x, int y, int zoom, //return {}; } +QString GoogleSatelliteMapProvider::_getURL(int x, int y, int zoom, + QNetworkAccessManager* networkManager) { + qDebug()<< "Yohou"; + // http://mt1.google.com/vt/lyrs=s + QString server = "khm"; + QString request = "kh"; + QString sec1 = ""; // after &x=... + QString sec2 = ""; // after &zoom=... + _getSecGoogleWords(x, y, sec1, sec2); + _tryCorrectGoogleVersions(networkManager); + return QString( + "http://%1%2.google.com/%3/v=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10") + .arg(server) + .arg(_getServerNum(x, y, 4)) + .arg(request) + .arg(_versionGoogleSatellite) + .arg(_language) + .arg(x) + .arg(sec1) + .arg(y) + .arg(zoom) + .arg(sec2); +} diff --git a/src/QtLocationPlugin/GoogleMapProvider.h b/src/QtLocationPlugin/GoogleMapProvider.h index a97e3d4f9..f81509f45 100644 --- a/src/QtLocationPlugin/GoogleMapProvider.h +++ b/src/QtLocationPlugin/GoogleMapProvider.h @@ -23,7 +23,7 @@ class GoogleMapProvider : public MapProvider { void _googleVersionCompleted(); void _replyDestroyed(); - private: + protected: // Define the url to Request QString _getURL(int x, int y, int zoom, QNetworkAccessManager* networkManager) ; @@ -42,3 +42,12 @@ class GoogleMapProvider : public MapProvider { QString _versionGoogleTerrain; QString _secGoogleWord; }; + +class GoogleSatelliteMapProvider : public GoogleMapProvider { + Q_OBJECT + public: + GoogleSatelliteMapProvider(QObject* parent):GoogleMapProvider(parent){} + protected: + QString _getURL(int x, int y, int zoom, + QNetworkAccessManager* networkManager); +}; diff --git a/src/QtLocationPlugin/QGCMapUrlEngine.cpp b/src/QtLocationPlugin/QGCMapUrlEngine.cpp index d4321d1b3..063ce951e 100644 --- a/src/QtLocationPlugin/QGCMapUrlEngine.cpp +++ b/src/QtLocationPlugin/QGCMapUrlEngine.cpp @@ -47,7 +47,7 @@ UrlFactory::UrlFactory() //_versionBingMaps = "563"; #ifndef QGC_NO_GOOGLE_MAPS - _googleMapProvider = new GoogleMapProvider(this); + _googleMapProvider = new GoogleSatelliteMapProvider(this); #endif } -- 2.22.0