summaryrefslogtreecommitdiff
path: root/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp
diff options
context:
space:
mode:
authorAnders Gunnarsson <anders.gunnarsson@appello.com>2014-02-05 12:25:52 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-07 13:25:34 +0100
commit3d36599672ab13f8276c9018ddbe4190872796fa (patch)
tree4c4a271b1a75dc26cffe0f719bfb9e23a6eeecbc /src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp
parent4ffe71bde6ab97f4760896cd13c97747b6bfb9d1 (diff)
downloadqtlocation-3d36599672ab13f8276c9018ddbe4190872796fa.tar.gz
Nokia plug-in URL and tiler API updates
Updated URLs for places and map tiler to current ones. Added URL management for additional hosts for hybrid, terrain and satellite maps. Added new languages and map types available in the new tiler API. Bug fixes for code evaluating copyrights text to show. Now only copyrights related to viewed maps are shown and each name is shown only once. Updated drawing of copyright information to show HERE logo and copyrights text side by side. This is to avoid having logo jumping up and down. Change-Id: Ide18a95335c4299c8219c4dbcfb0cc60b43d46c3 Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Diffstat (limited to 'src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp')
-rw-r--r--src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp61
1 files changed, 54 insertions, 7 deletions
diff --git a/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp b/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp
index a70862e3..c1cf93a0 100644
--- a/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp
+++ b/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp
@@ -98,6 +98,14 @@ namespace
registeredTypes[9] = "hybrid.day.mobile";
registeredTypes[10] = "normal.day.transit.mobile";
registeredTypes[11] = "normal.day.grey.mobile";
+ registeredTypes[12] = "normal.day.custom";
+ registeredTypes[13] = "normal.night";
+ registeredTypes[14] = "normal.night.mobile";
+ registeredTypes[15] = "normal.night.grey";
+ registeredTypes[16] = "normal.night.grey.mobile";
+ registeredTypes[17] = "pedestrian.day";
+ registeredTypes[18] = "pedestrian.night";
+ registeredTypes[19] = "carnav.day.grey";
}
MapTypeRegistry::const_iterator it = registeredTypes.find(mapId);
@@ -108,6 +116,11 @@ namespace
qWarning() << "Unknown mapId: " << mapId;
return "normal.day";
}
+
+ bool isAerialType(const QString mapType)
+ {
+ return mapType.startsWith("satellite") || mapType.startsWith("hybrid") || mapType.startsWith("terrain");
+ }
}
QGeoTileFetcherNokia::QGeoTileFetcherNokia(
const QVariantMap &parameters,
@@ -120,7 +133,8 @@ QGeoTileFetcherNokia::QGeoTileFetcherNokia(
m_parameters(parameters),
m_tileSize(tileSize),
m_copyrightsReply(0),
- m_uriProvider(new QGeoUriProvider(this, parameters, "mapping.host", MAP_TILES_HOST, MAP_TILES_HOST_CN))
+ m_baseUriProvider(new QGeoUriProvider(this, parameters, "mapping.host", MAP_TILES_HOST)),
+ m_aerialUriProvider(new QGeoUriProvider(this, parameters, "mapping.host.aerial", MAP_TILES_HOST_AERIAL))
{
Q_ASSERT(networkManager);
m_networkManager->setParent(this);
@@ -160,15 +174,19 @@ QGeoTiledMapReply *QGeoTileFetcherNokia::getTileImage(const QGeoTileSpec &spec)
QString QGeoTileFetcherNokia::getRequestString(const QGeoTileSpec &spec)
{
static const QString http("http://");
- static const QString path("/maptiler/v2/maptile/newest/");
+ static const QString path("/maptile/2.1/maptile/newest/");
static const QChar slash('/');
QString requestString = http;
- requestString += m_uriProvider->getCurrentHost();
- requestString += path;
+ QString mapType = mapIdToStr(spec.mapId());
+ if (isAerialType(mapType))
+ requestString += m_aerialUriProvider->getCurrentHost();
+ else
+ requestString += m_baseUriProvider->getCurrentHost();
- requestString += mapIdToStr(spec.mapId());
+ requestString += path;
+ requestString += mapType;
requestString += slash;
requestString += QString::number(spec.zoom());
requestString += slash;
@@ -215,18 +233,47 @@ QString QGeoTileFetcherNokia::getLanguageString() const
return QStringLiteral("CHI");
else
return QStringLiteral("CHT");
+ case QLocale::Dutch:
+ return QStringLiteral("DUT");
case QLocale::French:
return QStringLiteral("FRE");
case QLocale::German:
return QStringLiteral("GER");
+ case QLocale::Gaelic:
+ return QStringLiteral("GLE");
+ case QLocale::Greek:
+ return QStringLiteral("GRE");
+ case QLocale::Hebrew:
+ return QStringLiteral("HEB");
+ case QLocale::Hindi:
+ return QStringLiteral("HIN");
+ case QLocale::Indonesian:
+ return QStringLiteral("IND");
case QLocale::Italian:
return QStringLiteral("ITA");
+ case QLocale::Persian:
+ return QStringLiteral("PER");
case QLocale::Polish:
return QStringLiteral("POL");
+ case QLocale::Portuguese:
+ return QStringLiteral("POR");
case QLocale::Russian:
return QStringLiteral("RUS");
+ case QLocale::Sinhala:
+ return QStringLiteral("SIN");
case QLocale::Spanish:
return QStringLiteral("SPA");
+ case QLocale::Thai:
+ return QStringLiteral("THA");
+ case QLocale::Turkish:
+ return QStringLiteral("TUR");
+ case QLocale::Ukrainian:
+ return QStringLiteral("UKR");
+ case QLocale::Urdu:
+ return QStringLiteral("URD");
+ case QLocale::Vietnamese:
+ return QStringLiteral("VIE");
+
default:
return QStringLiteral("ENG");
}
@@ -257,8 +304,8 @@ void QGeoTileFetcherNokia::fetchCopyrightsData()
{
QString copyrightUrl = "http://";
- copyrightUrl += m_uriProvider->getCurrentHost();
- copyrightUrl += "/maptiler/v2/copyright/newest?output=json";
+ copyrightUrl += m_baseUriProvider->getCurrentHost();
+ copyrightUrl += "/maptile/2.1/copyright/newest?output=json";
if (!token().isEmpty()) {
copyrightUrl += "&token=";