Commit eea5c549 authored by Pierre TILAK's avatar Pierre TILAK

Re-add GoogleHybrid

parent 61b70232
......@@ -17,6 +17,7 @@ GoogleMapProvider::GoogleMapProvider(QString imageFormat, quint32 averageSize,
_versionGoogleSatellite = "692";
_versionGoogleLabels = "h@336";
_versionGoogleTerrain = "t@354,r@354000000";
_versionGoogleHybrid = "y";
_secGoogleWord = "Galileo";
}
......@@ -216,3 +217,26 @@ GoogleTerrainMapProvider::_getURL(int x, int y, int zoom,
.arg(zoom)
.arg(sec2);
}
QString
GoogleHybridMapProvider::_getURL(int x, int y, int zoom,
QNetworkAccessManager* networkManager) {
QString server = "mt";
QString request = "vt";
QString sec1 = ""; // after &x=...
QString sec2 = ""; // after &zoom=...
_getSecGoogleWords(x, y, sec1, sec2);
_tryCorrectGoogleVersions(networkManager);
return QString(
"http://%1%2.google.com/%3/lyrs=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10")
.arg(server)
.arg(_getServerNum(x, y, 4))
.arg(request)
.arg(_versionGoogleHybrid)
.arg(_language)
.arg(x)
.arg(sec1)
.arg(y)
.arg(zoom)
.arg(sec2);
}
......@@ -40,6 +40,7 @@ class GoogleMapProvider : public MapProvider {
QString _versionGoogleSatellite;
QString _versionGoogleLabels;
QString _versionGoogleTerrain;
QString _versionGoogleHybrid;
QString _secGoogleWord;
};
......@@ -119,3 +120,18 @@ class GoogleTerrainMapProvider : public GoogleMapProvider {
QString _getURL(int x, int y, int zoom,
QNetworkAccessManager* networkManager);
};
// -----------------------------------------------------------
// Google Hybrid Map
class GoogleHybridMapProvider : public GoogleMapProvider {
Q_OBJECT
public:
GoogleHybridMapProvider(QObject* parent)
: GoogleMapProvider(QString("png"), AVERAGE_GOOGLE_SAT_MAP,
QGeoMapType::HybridMap, parent) {}
protected:
QString _getURL(int x, int y, int zoom,
QNetworkAccessManager* networkManager);
};
......@@ -41,6 +41,7 @@ UrlFactory::UrlFactory() : _timeout(5 * 1000) {
_providersTable["Google Street Map"] = new GoogleStreetMapProvider(this);
_providersTable["Google Satellite"] = new GoogleSatelliteMapProvider(this);
_providersTable["Google Terrain"] = new GoogleTerrainMapProvider(this);
_providersTable["Google Hybrid"] = new GoogleHybridMapProvider(this);
_providersTable["Google Labels"] = new GoogleTerrainMapProvider(this);
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment