Unverified Commit 79618021 authored by Gus Grubba's avatar Gus Grubba Committed by GitHub

Merge pull request #7752 from ans10528/googleHybridMap

Add MapType: Google Hybrid
parents 925e581d 4b2ab45e
...@@ -50,6 +50,7 @@ static stQGeoTileCacheQGCMapTypes kMapTypes[] = { ...@@ -50,6 +50,7 @@ static stQGeoTileCacheQGCMapTypes kMapTypes[] = {
{"Google Street Map", UrlFactory::GoogleMap}, {"Google Street Map", UrlFactory::GoogleMap},
{"Google Satellite Map", UrlFactory::GoogleSatellite}, {"Google Satellite Map", UrlFactory::GoogleSatellite},
{"Google Terrain Map", UrlFactory::GoogleTerrain}, {"Google Terrain Map", UrlFactory::GoogleTerrain},
{"Google Hybrid Map", UrlFactory::GoogleHybrid},
#endif #endif
{"Bing Street Map", UrlFactory::BingMap}, {"Bing Street Map", UrlFactory::BingMap},
{"Bing Satellite Map", UrlFactory::BingSatellite}, {"Bing Satellite Map", UrlFactory::BingSatellite},
......
...@@ -56,6 +56,7 @@ UrlFactory::UrlFactory() ...@@ -56,6 +56,7 @@ UrlFactory::UrlFactory()
_versionGoogleSatellite = "692"; _versionGoogleSatellite = "692";
_versionGoogleLabels = "h@336"; _versionGoogleLabels = "h@336";
_versionGoogleTerrain = "t@354,r@354000000"; _versionGoogleTerrain = "t@354,r@354000000";
_versionGoogleHybrid = "y";
_secGoogleWord = "Galileo"; _secGoogleWord = "Galileo";
#endif #endif
// BingMaps // BingMaps
...@@ -273,6 +274,17 @@ UrlFactory::_getURL(MapType type, int x, int y, int zoom, QNetworkAccessManager* ...@@ -273,6 +274,17 @@ UrlFactory::_getURL(MapType type, int x, int y, int zoom, QNetworkAccessManager*
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(_versionGoogleTerrain).arg(_language).arg(x).arg(sec1).arg(y).arg(zoom).arg(sec2); 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(_versionGoogleTerrain).arg(_language).arg(x).arg(sec1).arg(y).arg(zoom).arg(sec2);
} }
break; break;
case GoogleHybrid:
{
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);
}
break;
#endif #endif
case StatkartTopo: case StatkartTopo:
{ {
......
...@@ -120,6 +120,7 @@ private: ...@@ -120,6 +120,7 @@ private:
QString _versionGoogleSatellite; QString _versionGoogleSatellite;
QString _versionGoogleLabels; QString _versionGoogleLabels;
QString _versionGoogleTerrain; QString _versionGoogleTerrain;
QString _versionGoogleHybrid;
QString _secGoogleWord; QString _secGoogleWord;
#endif #endif
......
...@@ -108,15 +108,9 @@ QGeoTiledMappingManagerEngineQGC::QGeoTiledMappingManagerEngineQGC(const QVarian ...@@ -108,15 +108,9 @@ QGeoTiledMappingManagerEngineQGC::QGeoTiledMappingManagerEngineQGC(const QVarian
QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Google Street Map", "Google street map", false, false, UrlFactory::GoogleMap), QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Google Street Map", "Google street map", false, false, UrlFactory::GoogleMap),
QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "Google Satellite Map", "Google satellite map", false, false, UrlFactory::GoogleSatellite), QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "Google Satellite Map", "Google satellite map", false, false, UrlFactory::GoogleSatellite),
QGCGEOMAPTYPE(QGeoMapType::TerrainMap, "Google Terrain Map", "Google terrain map", false, false, UrlFactory::GoogleTerrain), QGCGEOMAPTYPE(QGeoMapType::TerrainMap, "Google Terrain Map", "Google terrain map", false, false, UrlFactory::GoogleTerrain),
QGCGEOMAPTYPE(QGeoMapType::HybridMap, "Google Hybrid Map", "Google hybrid map", false, false, UrlFactory::GoogleHybrid),
#endif #endif
/* TODO:
* Proper google hybrid maps requires collecting two separate bitmaps and overlaying them.
*
* mapTypes << QGCGEOMAPTYPE(QGeoMapType::HybridMap, "Google Hybrid Map", "Google hybrid map", false, false, UrlFactory::GoogleHybrid),
*
*/
// Bing // Bing
QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Bing Street Map", "Bing street map", false, false, UrlFactory::BingMap), QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Bing Street Map", "Bing street map", false, false, UrlFactory::BingMap),
QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "Bing Satellite Map", "Bing satellite map", false, false, UrlFactory::BingSatellite), QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "Bing Satellite Map", "Bing satellite map", false, false, UrlFactory::BingSatellite),
......
...@@ -86,7 +86,6 @@ void FlightMapSettings::_newMapProvider(QVariant value) ...@@ -86,7 +86,6 @@ void FlightMapSettings::_newMapProvider(QVariant value)
_removeEnumValue(mapTypeTerrain, enumStrings, enumValues); _removeEnumValue(mapTypeTerrain, enumStrings, enumValues);
break; break;
case mapProviderGoogle: case mapProviderGoogle:
_removeEnumValue(mapTypeHybrid, enumStrings, enumValues);
break; break;
case mapProviderStarkart: case mapProviderStarkart:
_removeEnumValue(mapTypeStreet, enumStrings, enumValues); _removeEnumValue(mapTypeStreet, enumStrings, enumValues);
......
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