diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-02-02 18:59:33 +0100 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-02-08 07:37:40 +0000 |
commit | 921ea4c23f16e87c256ab995d82d227353c6da22 (patch) | |
tree | 115d69237465e8d3077cc1c230f2da778073f455 /src | |
parent | d9d36100d170ee7cdb04e2782d75e06118934def (diff) | |
download | qtlocation-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>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp | 20 |
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); |