summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2017-02-02 18:59:33 +0100
committerPaolo Angelelli <paolo.angelelli@qt.io>2017-02-08 07:37:40 +0000
commit921ea4c23f16e87c256ab995d82d227353c6da22 (patch)
tree115d69237465e8d3077cc1c230f2da778073f455
parentd9d36100d170ee7cdb04e2782d75e06118934def (diff)
downloadqtlocation-921ea4c23f16e87c256ab995d82d227353c6da22.tar.gz
Fix HERE Plugin requesting invalid range when on high dpi mode
Apparently HERE does not support ZL 0 and 20 when using 512x512 tiles Change-Id: Ic52f98648243ce866646d921e3fc70b494fed62c Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
-rw-r--r--src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp b/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp
index 6548aa2b..3613cf71 100644
--- a/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp
+++ b/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp
@@ -62,11 +62,22 @@ QGeoTiledMappingManagerEngineNokia::QGeoTiledMappingManagerEngineNokia(
Q_UNUSED(error);
Q_UNUSED(errorString);
+ int ppi = 72;
+ if (parameters.contains(QStringLiteral("here.mapping.highdpi_tiles"))) {
+ const QString param = parameters.value(QStringLiteral("here.mapping.highdpi_tiles")).toString().toLower();
+ if (param == "true")
+ ppi = 250;
+ }
+
QGeoCameraCapabilities capabilities;
capabilities.setMinimumZoomLevel(0.0);
capabilities.setMaximumZoomLevel(20.0);
-
+ if (ppi > 72) {
+ // Zoom levels 0 and 20 are not supported for 512x512 tiles.
+ capabilities.setMinimumZoomLevel(1.0);
+ capabilities.setMaximumZoomLevel(19.0);
+ }
setCameraCapabilities(capabilities);
setTileSize(QSize(256, 256));
@@ -95,13 +106,6 @@ QGeoTiledMappingManagerEngineNokia::QGeoTiledMappingManagerEngineNokia(
types << QGeoMapType(QGeoMapType::CarNavigationMap, tr("Car Navigation Map"), tr("Normal map view in daylight mode for car navigation"), false, false, 21);
setSupportedMapTypes(types);
- int ppi = 72;
- if (parameters.contains(QStringLiteral("here.mapping.highdpi_tiles"))) {
- const QString param = parameters.value(QStringLiteral("here.mapping.highdpi_tiles")).toString().toLower();
- if (param == "true")
- ppi = 250;
- }
-
QGeoTileFetcherNokia *fetcher = new QGeoTileFetcherNokia(parameters, networkManager, this, tileSize(), ppi);
setTileFetcher(fetcher);