summaryrefslogtreecommitdiffstats
path: root/src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.cpp
diff options
context:
space:
mode:
authorWolfgang Bremer <wolfgang@w-bremer.de>2015-04-20 05:09:09 +0200
committerWolfgang Bremer <wolfgang.bremer@pelagicore.com>2015-05-08 16:21:33 +0000
commit3f697f6d73f0a7f10be90f48662f139a33d1781e (patch)
tree06c7c4066106aebe1ffe8a7fe47bb44656ccde25 /src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.cpp
parentcee1591ffce5ba923375144108075fffd3ea70a7 (diff)
Allow custom URLs for OSM tiles
This enables the usage of various mapping services which use the OSM API for tile distribution. One only needs to set the urlprefix parameter to a correct url and the activeMapType to the "Custom URL Map". Task-number: QTBUG-32937 Change-Id: Ib24da19dc598ccc288047ce2651e6c1792ae2054 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com> Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
Diffstat (limited to 'src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.cpp')
-rw-r--r--src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.cpp b/src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.cpp
index 973a7437..873e59de 100644
--- a/src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.cpp
+++ b/src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.cpp
@@ -60,6 +60,8 @@ QGeoTiledMappingManagerEngineOsm::QGeoTiledMappingManagerEngineOsm(const QVarian
mapTypes << QGeoMapType(QGeoMapType::TransitMap, tr("Night Transit Map"), tr("Public transit map view in night mode"), false, true, 5);
mapTypes << QGeoMapType(QGeoMapType::TerrainMap, tr("Terrain Map"), tr("Terrain map view"), false, false, 6);
mapTypes << QGeoMapType(QGeoMapType::PedestrianMap, tr("Hiking Map"), tr("Hiking map view"), false, false, 7);
+ if (parameters.contains(QStringLiteral("mapping.host")))
+ mapTypes << QGeoMapType(QGeoMapType::CustomMap, tr("Custom URL Map"), tr("Custom url map view set via urlprefix parameter"), false, false, 8);
setSupportedMapTypes(mapTypes);
QGeoTileFetcherOsm *tileFetcher = new QGeoTileFetcherOsm(this);
@@ -67,6 +69,12 @@ QGeoTiledMappingManagerEngineOsm::QGeoTiledMappingManagerEngineOsm(const QVarian
const QByteArray ua = parameters.value(QStringLiteral("useragent")).toString().toLatin1();
tileFetcher->setUserAgent(ua);
}
+ if (parameters.contains(QStringLiteral("mapping.host"))) {
+ const QString up = parameters.value(QStringLiteral("mapping.host")).toString().toLatin1();
+ tileFetcher->setUrlPrefix(up);
+ }
+ if (parameters.contains(QStringLiteral("mapping.copyright")))
+ m_customCopyright = parameters.value(QStringLiteral("mapping.copyright")).toString().toLatin1();
setTileFetcher(tileFetcher);
@@ -83,4 +91,9 @@ QGeoMap *QGeoTiledMappingManagerEngineOsm::createMap()
return new QGeoTiledMapOsm(this);
}
+QString QGeoTiledMappingManagerEngineOsm::customCopyright() const
+{
+ return m_customCopyright;
+}
+
QT_END_NAMESPACE