summaryrefslogtreecommitdiffstats
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
parent4ffe71bde6ab97f4760896cd13c97747b6bfb9d1 (diff)
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>
-rw-r--r--src/imports/location/qdeclarativegeomaptype.cpp4
-rw-r--r--src/imports/location/qdeclarativegeomaptype_p.h2
-rw-r--r--src/location/doc/src/plugins/nokia.qdoc5
-rw-r--r--src/location/maps/qgeomaptype_p.h2
-rw-r--r--src/plugins/geoservices/nokia/nokia_plugin.json2
-rw-r--r--src/plugins/geoservices/nokia/qgeotiledmapdata_nokia.cpp33
-rw-r--r--src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp68
-rw-r--r--src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h2
-rw-r--r--src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp61
-rw-r--r--src/plugins/geoservices/nokia/qgeotilefetcher_nokia.h3
-rw-r--r--src/plugins/geoservices/nokia/uri_constants.cpp6
-rw-r--r--src/plugins/geoservices/nokia/uri_constants.h2
12 files changed, 130 insertions, 60 deletions
diff --git a/src/imports/location/qdeclarativegeomaptype.cpp b/src/imports/location/qdeclarativegeomaptype.cpp
index b85bb66d..046c16d1 100644
--- a/src/imports/location/qdeclarativegeomaptype.cpp
+++ b/src/imports/location/qdeclarativegeomaptype.cpp
@@ -77,8 +77,10 @@ QDeclarativeGeoMapType::~QDeclarativeGeoMapType() {}
\li MapType.SatelliteMapDay - A map with day-time satellite imagery.
\li MapType.SatelliteMapNight - A map with night-time satellite imagery.
\li MapType.TerrainMap - A terrain map.
- \li MapType.HybridMap - A map with satellite imagery and streen information.
+ \li MapType.HybridMap - A map with satellite imagery and street information.
\li MapType.GrayStreetMap - A gray-shaded street map.
+ \li MapType::PedestrianMap - A street map suitable for pedestriants.
+ \li MapType::CarNavigationMap - A street map suitable for car navigation.
\li MapType.CustomMap - A custom map type.
\endlist
*/
diff --git a/src/imports/location/qdeclarativegeomaptype_p.h b/src/imports/location/qdeclarativegeomaptype_p.h
index da5e29cb..974e00a0 100644
--- a/src/imports/location/qdeclarativegeomaptype_p.h
+++ b/src/imports/location/qdeclarativegeomaptype_p.h
@@ -68,6 +68,8 @@ public:
HybridMap = QGeoMapType::HybridMap,
TransitMap = QGeoMapType::TransitMap,
GrayStreetMap = QGeoMapType::GrayStreetMap,
+ PedestrianMap = QGeoMapType::PedestrianMap,
+ CarNavigationMap = QGeoMapType::CarNavigationMap,
CustomMap = 100
};
diff --git a/src/location/doc/src/plugins/nokia.qdoc b/src/location/doc/src/plugins/nokia.qdoc
index 2ab29fb2..203602ce 100644
--- a/src/location/doc/src/plugins/nokia.qdoc
+++ b/src/location/doc/src/plugins/nokia.qdoc
@@ -80,7 +80,10 @@ The following table lists optional parameters that can be passed to the Nokia pl
\note See the notes in \l{QNetworkProxyFactory::systemProxyForQuery()} for further information.
\row
\li mapping.host
- \li Map tile service URL used by mapping manager.
+ \li Base map tile service URL used by mapping manager.
+\row
+ \li mapping.host.aerial
+ \li Aerial map tile service URL used by mapping manager. For all satellite, hybrid and terrain schemes.
\row
\li mapping.cache.directory
\li Map tile cache directory used as network disk cache.
diff --git a/src/location/maps/qgeomaptype_p.h b/src/location/maps/qgeomaptype_p.h
index 99e5baf0..7b1cc2c9 100644
--- a/src/location/maps/qgeomaptype_p.h
+++ b/src/location/maps/qgeomaptype_p.h
@@ -74,6 +74,8 @@ public:
HybridMap,
TransitMap,
GrayStreetMap,
+ PedestrianMap,
+ CarNavigationMap,
CustomMap = 100
};
diff --git a/src/plugins/geoservices/nokia/nokia_plugin.json b/src/plugins/geoservices/nokia/nokia_plugin.json
index 4f6d6316..eb6fa68d 100644
--- a/src/plugins/geoservices/nokia/nokia_plugin.json
+++ b/src/plugins/geoservices/nokia/nokia_plugin.json
@@ -1,7 +1,7 @@
{
"Keys": ["nokia"],
"Provider": "nokia",
- "Version": 100,
+ "Version": 101,
"Experimental": false,
"Features": [
"OnlineRoutingFeature",
diff --git a/src/plugins/geoservices/nokia/qgeotiledmapdata_nokia.cpp b/src/plugins/geoservices/nokia/qgeotiledmapdata_nokia.cpp
index 010da22f..823764ba 100644
--- a/src/plugins/geoservices/nokia/qgeotiledmapdata_nokia.cpp
+++ b/src/plugins/geoservices/nokia/qgeotiledmapdata_nokia.cpp
@@ -69,7 +69,7 @@ QT_BEGIN_NAMESPACE
*/
QGeoTiledMapDataNokia::QGeoTiledMapDataNokia(QGeoTiledMappingManagerEngineNokia *engine, QObject *parent /*= 0*/) :
QGeoTiledMapData(engine, parent),
- logo(":/images/logo.png"), // Nokia logo image
+ logo(":/images/logo.png"), // HERE logo image
copyrightsSlab(1, 1, QImage::Format_ARGB32) {}
QGeoTiledMapDataNokia::~QGeoTiledMapDataNokia() {}
@@ -77,7 +77,7 @@ QGeoTiledMapDataNokia::~QGeoTiledMapDataNokia() {}
void QGeoTiledMapDataNokia::evaluateCopyrights(const QSet<QGeoTileSpec> &visibleTiles)
{
const int copyrightsMargin = 10;
- const int shadowWidth = 2;
+ const int shadowWidth = 3;
const int fontSize = 10;
QGeoTiledMappingManagerEngineNokia *engineNokia = static_cast<QGeoTiledMappingManagerEngineNokia *>(engine());
@@ -90,9 +90,10 @@ void QGeoTiledMapDataNokia::evaluateCopyrights(const QSet<QGeoTileSpec> &visible
copyrightsSlab.fill(Qt::transparent);
QPainter painter(&copyrightsSlab);
- painter.drawImage(QPoint(1, 1), logo);
+ painter.drawImage(QPoint(0, copyrightsSlab.height() - logo.height()), logo);
QColor fontColor(Qt::black);
+ fontColor.setAlpha(64);
QFont font("Sans Serif");
font.setPixelSize(fontSize);
font.setStyleHint(QFont::SansSerif);
@@ -100,21 +101,21 @@ void QGeoTiledMapDataNokia::evaluateCopyrights(const QSet<QGeoTileSpec> &visible
painter.setFont(font);
painter.setPen(fontColor);
- QRect textLimitsRect(0,
- logo.height(),
- copyrightsSlab.width() - (copyrightsMargin * 2),
- copyrightsSlab.height() - logo.height());
+ QRect textLimitsRect(logo.width(),
+ 0,
+ copyrightsSlab.width() - (logo.width() + copyrightsMargin * 2),
+ copyrightsSlab.height());
// Drawing the copyrights base shadow (watermark)
QRect textBoundingRect;
QRect wmRect(textLimitsRect);
int x, y;
for (x = 0; x < shadowWidth; x++) {
- wmRect.setLeft(textLimitsRect.left() + x*shadowWidth);
+ wmRect.setLeft(textLimitsRect.left() + x);
for (y = 0; y < shadowWidth; y++) {
- wmRect.setTop(textLimitsRect.top() + y*shadowWidth);
+ wmRect.setBottom(textLimitsRect.bottom() - y);
painter.drawText(wmRect,
- Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap,
+ Qt::AlignLeft | Qt::AlignBottom | Qt::TextWordWrap,
copyrightsString,
&textBoundingRect);
}
@@ -126,17 +127,19 @@ void QGeoTiledMapDataNokia::evaluateCopyrights(const QSet<QGeoTileSpec> &visible
painter.setFont(font);
painter.setPen(fontColor);
wmRect.setLeft(textLimitsRect.left() + 1);
- wmRect.setTop(textLimitsRect.top() + 1);
+ wmRect.setBottom(textLimitsRect.bottom() - 1);
painter.drawText(wmRect,
- Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap,
+ Qt::AlignLeft | Qt::AlignBottom | Qt::TextWordWrap,
copyrightsString,
&textBoundingRect);
painter.end();
- copyrightsSlab = copyrightsSlab.copy(0, 0,
- qMax(logo.width(), textBoundingRect.width()) + shadowWidth,
- logo.height() + textBoundingRect.height());
+ int newHeight = qMax(logo.height(), textBoundingRect.height());
+
+ copyrightsSlab = copyrightsSlab.copy(0, copyrightsSlab.height() - newHeight,
+ logo.width() + textBoundingRect.width() + shadowWidth + copyrightsMargin * 2,
+ newHeight);
QPoint copyrightsPos(copyrightsMargin, height() - (copyrightsSlab.height() + copyrightsMargin));
lastCopyrightsPos = copyrightsPos;
diff --git a/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp b/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp
index 1c7c12e5..99a2940b 100644
--- a/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp
+++ b/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp
@@ -53,9 +53,6 @@
#include "qgeotilespec_p.h"
#include "qgeotilecache_p.h"
-#include <QtPositioning/private/qdoublevector2d_p.h>
-#include <QtPositioning/private/qgeoprojection_p.h>
-
#include <QDebug>
#include <QDir>
#include <QVariant>
@@ -86,17 +83,25 @@ QGeoTiledMappingManagerEngineNokia::QGeoTiledMappingManagerEngineNokia(
setTileSize(QSize(256, 256));
QList<QGeoMapType> types;
- types << QGeoMapType(QGeoMapType::StreetMap,tr("Street Map"),tr("Nokia Street Map"), false, 1);
- types << QGeoMapType(QGeoMapType::SatelliteMapDay,tr("Satellite Map(day)"),tr("Nokia Satellite Map (day)"), false, 2);
- types << QGeoMapType(QGeoMapType::TerrainMap,tr("Terrain Map"),tr("Nokia Terrain Map"), false, 3);
- types << QGeoMapType(QGeoMapType::HybridMap,tr("Hybrid Map"),tr("Nokia Hybrid Map"), false, 4);
- types << QGeoMapType(QGeoMapType::TransitMap,tr("Transit Map"),tr("Nokia Transit Map"), false, 5);
- types << QGeoMapType(QGeoMapType::GrayStreetMap,tr("Gray Street Map"),tr("Nokia Gray Street Map"), false, 6);
- types << QGeoMapType(QGeoMapType::StreetMap,tr("Mobile Street Map"),tr("Nokia Mobile Street Map"), true, 7);
- types << QGeoMapType(QGeoMapType::TerrainMap,tr("Mobile Terrain Map"),tr("Nokia Mobile Terrain Map"), true, 8);
- types << QGeoMapType(QGeoMapType::HybridMap,tr("Mobile Hybrid Map"),tr("Nokia Mobile Hybrid Map"), true, 9);
- types << QGeoMapType(QGeoMapType::TransitMap,tr("Mobile Transit Map"),tr("Nokia Mobile Transit Map"), true, 10);
- types << QGeoMapType(QGeoMapType::GrayStreetMap,tr("Mobile Gray Street Map"),tr("Nokia Mobile Gray Street Map"), true, 11);
+ types << QGeoMapType(QGeoMapType::StreetMap, tr("Street Map"), tr("Normal map view in daylight mode"), false, 1);
+ types << QGeoMapType(QGeoMapType::SatelliteMapDay, tr("Satellite Map"), tr("Satellite map view in daylight mode"), false, 2);
+ types << QGeoMapType(QGeoMapType::TerrainMap, tr("Terrain Map"), tr("Terrain map view in daylight mode"), false, 3);
+ types << QGeoMapType(QGeoMapType::HybridMap, tr("Hybrid Map"), tr("Satellite map view with streets in daylight mode"), false, 4);
+ types << QGeoMapType(QGeoMapType::TransitMap, tr("Transit Map"), tr("Color-reduced map view with public transport scheme in daylight mode"), false, 5);
+ types << QGeoMapType(QGeoMapType::GrayStreetMap, tr("Gray Street Map"), tr("Color-reduced map view in daylight mode (especially used for background maps)"), false, 6);
+ types << QGeoMapType(QGeoMapType::StreetMap, tr("Mobile Street Map"), tr("Mobile normal map view in daylight mode"), true, 7);
+ types << QGeoMapType(QGeoMapType::TerrainMap, tr("Mobile Terrain Map"), tr("Mobile terrain map view in daylight mode"), true, 8);
+ types << QGeoMapType(QGeoMapType::HybridMap, tr("Mobile Hybrid Map"), tr("Mobile satellite map view with streets in daylight mode"), true, 9);
+ types << QGeoMapType(QGeoMapType::TransitMap, tr("Mobile Transit Map"), tr("Mobile color-reduced map view with public transport scheme in daylight mode"), true, 10);
+ types << QGeoMapType(QGeoMapType::GrayStreetMap, tr("Mobile Gray Street Map"), tr("Mobile color-reduced map view in daylight mode (especially used for background maps)"), true, 11);
+ types << QGeoMapType(QGeoMapType::StreetMap, tr("Custom Street Map"), tr("Normal map view in daylight mode"), false, 12);
+ types << QGeoMapType(QGeoMapType::StreetMap, tr("Night Street Map"), tr("Normal map view in night mode"), false, 13);
+ types << QGeoMapType(QGeoMapType::StreetMap, tr("Mobile Night Street Map"), tr("Mobile normal map view in night mode"), true, 14);
+ types << QGeoMapType(QGeoMapType::GrayStreetMap, tr("Gray Night Street Map"), tr("Color-reduced map view in night mode (especially used for background maps)"), false, 15);
+ types << QGeoMapType(QGeoMapType::GrayStreetMap, tr("Mobile Gray Night Street Map"), tr("Mobile color-reduced map view in night mode (especially used for background maps)"), true, 16);
+ types << QGeoMapType(QGeoMapType::PedestrianMap, tr("Pedestrian Street Map"), tr("Pedestrian map view in daylight mode for mobile usage"), true, 17);
+ types << QGeoMapType(QGeoMapType::PedestrianMap, tr("Pedestrian Night Street Map"), tr("Pedestrian map view in night mode for mobile usage"), true, 18);
+ types << QGeoMapType(QGeoMapType::CarNavigationMap, tr("Car Navigation Map"), tr("Normal map view in daylight mode for car navigation"), false, 19);
setSupportedMapTypes(types);
QGeoTileFetcherNokia *fetcher = new QGeoTileFetcherNokia(parameters, networkManager, this, tileSize());
@@ -148,6 +153,8 @@ void QGeoTiledMappingManagerEngineNokia::populateMapTypesDb()
m_mapTypeStrings[QGeoMapType::HybridMap] = QLatin1String("hybrid");
m_mapTypeStrings[QGeoMapType::TransitMap] = QLatin1String("normal");
m_mapTypeStrings[QGeoMapType::GrayStreetMap] = QLatin1String("normal");
+ m_mapTypeStrings[QGeoMapType::PedestrianMap] = QLatin1String("pedestrian");
+ m_mapTypeStrings[QGeoMapType::CarNavigationMap] = QLatin1String("carnav");
}
void QGeoTiledMappingManagerEngineNokia::loadCopyrightsDescriptorsFromJson(const QByteArray &jsonData)
@@ -195,9 +202,10 @@ void QGeoTiledMappingManagerEngineNokia::loadCopyrightsDescriptorsFromJson(const
}
QString QGeoTiledMappingManagerEngineNokia::evaluateCopyrightsText(const QGeoMapType::MapStyle mapStyle,
- const int zoomLevel,
+ const qreal zoomLevel,
const QSet<QGeoTileSpec> &tiles)
{
+ static const QChar copyrightSymbol(0x00a9);
typedef QSet<QGeoTileSpec>::const_iterator tile_iter;
QGeoRectangle viewport;
double viewX0, viewY0, viewX1, viewY1;
@@ -206,6 +214,7 @@ QString QGeoTiledMappingManagerEngineNokia::evaluateCopyrightsText(const QGeoMap
tile_iter lastTile = tiles.constEnd();
if (tiles.count()) {
+ double divFactor = qPow(2.0, tile->zoom());
viewX0 = viewX1 = tile->x();
viewY0 = viewY1 = tile->y();
@@ -228,7 +237,6 @@ QString QGeoTiledMappingManagerEngineNokia::evaluateCopyrightsText(const QGeoMap
viewY1++;
QDoubleVector2D pt;
- double divFactor = qPow(2.0, zoomLevel);
pt.setX(viewX0 / divFactor);
pt.setY(viewY0 / divFactor);
@@ -242,32 +250,34 @@ QString QGeoTiledMappingManagerEngineNokia::evaluateCopyrightsText(const QGeoMap
QList<CopyrightDesc> descriptorList = m_copyrights[ m_mapTypeStrings[mapStyle] ];
CopyrightDesc *descriptor;
int descIndex, boxIndex;
- QString copyrightsString("");
+ QString copyrightsText;
+ QSet<QString> copyrightStrings;
for (descIndex = 0; descIndex < descriptorList.count(); descIndex++) {
if (descriptorList[descIndex].minLevel <= zoomLevel && zoomLevel <= descriptorList[descIndex].maxLevel) {
descriptor = &descriptorList[descIndex];
+
for (boxIndex = 0; boxIndex < descriptor->boxes.count(); boxIndex++) {
QGeoRectangle box = descriptor->boxes[boxIndex];
- QGeoCoordinate topRight = box.topRight();
- QGeoCoordinate bottomLeft = box.bottomLeft();
- if (descriptor->boxes[boxIndex].intersects(viewport)) {
- if (copyrightsString.length())
- copyrightsString += "\n";
- copyrightsString += descriptor->label;
+ if (box.intersects(viewport)) {
+ copyrightStrings.insert(descriptor->label);
break;
}
}
- if (!descriptor->boxes.count()) {
- if (copyrightsString.length())
- copyrightsString += "\n";
- copyrightsString += descriptor->label;
- }
+ if (!descriptor->boxes.count())
+ copyrightStrings.insert(descriptor->label);
}
}
- return copyrightsString;
+ foreach (const QString &copyrightString, copyrightStrings) {
+ if (copyrightsText.length())
+ copyrightsText += QLatin1Char('\n');
+ copyrightsText += copyrightSymbol;
+ copyrightsText += copyrightString;
+ }
+
+ return copyrightsText;
}
QGeoMapData *QGeoTiledMappingManagerEngineNokia::createMapData()
diff --git a/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h b/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h
index 56af20c4..4b710f89 100644
--- a/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h
+++ b/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h
@@ -78,7 +78,7 @@ public:
virtual QGeoMapData *createMapData();
QString evaluateCopyrightsText(const QGeoMapType::MapStyle mapStyle,
- const int zoomLevel,
+ const qreal zoomLevel,
const QSet<QGeoTileSpec> &tiles);
public Q_SLOTS:
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=";
diff --git a/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.h b/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.h
index 2d9c385f..794b251f 100644
--- a/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.h
+++ b/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.h
@@ -102,7 +102,8 @@ private:
QNetworkReply *m_copyrightsReply;
QString m_applicationId;
- QGeoUriProvider *m_uriProvider;
+ QGeoUriProvider *m_baseUriProvider;
+ QGeoUriProvider *m_aerialUriProvider;
};
QT_END_NAMESPACE
diff --git a/src/plugins/geoservices/nokia/uri_constants.cpp b/src/plugins/geoservices/nokia/uri_constants.cpp
index ee104a4b..83a2aafe 100644
--- a/src/plugins/geoservices/nokia/uri_constants.cpp
+++ b/src/plugins/geoservices/nokia/uri_constants.cpp
@@ -52,9 +52,9 @@ QT_BEGIN_NAMESPACE
const QString ROUTING_HOST = QLatin1String("route.nlp.nokia.com");
const QString GEOCODING_HOST = QLatin1String("loc.desktop.maps.svc.ovi.com");
const QString GEOCODING_HOST_CN = QLatin1String("pr.geo.maps.svc.nokia.com.cn");
-const QString PLACES_HOST = QLatin1String("places.nlp.nokia.com");
+const QString PLACES_HOST = QLatin1String("places.api.here.com");
const QString PLACES_HOST_CN = QLatin1String("places.nlp.nokia.com.cn");
-const QString MAP_TILES_HOST = QLatin1String("1-4.maptile.lbs.ovi.com");
-const QString MAP_TILES_HOST_CN = QLatin1String("a-k.maptile.maps.svc.nokia.com.cn");
+const QString MAP_TILES_HOST = QLatin1String("1-4.base.maps.api.here.com");
+const QString MAP_TILES_HOST_AERIAL = QLatin1String("1-4.aerial.maps.api.here.com");
QT_END_NAMESPACE
diff --git a/src/plugins/geoservices/nokia/uri_constants.h b/src/plugins/geoservices/nokia/uri_constants.h
index b89c24b7..b32f0878 100644
--- a/src/plugins/geoservices/nokia/uri_constants.h
+++ b/src/plugins/geoservices/nokia/uri_constants.h
@@ -59,7 +59,7 @@ extern const QString GEOCODING_HOST_CN;
extern const QString PLACES_HOST;
extern const QString PLACES_HOST_CN;
extern const QString MAP_TILES_HOST;
-extern const QString MAP_TILES_HOST_CN;
+extern const QString MAP_TILES_HOST_AERIAL;
QT_END_NAMESPACE