diff options
author | Wolfgang Bremer <wolfgang@w-bremer.de> | 2015-04-20 05:09:09 +0200 |
---|---|---|
committer | Wolfgang Bremer <wolfgang.bremer@pelagicore.com> | 2015-05-08 16:21:33 +0000 |
commit | 3f697f6d73f0a7f10be90f48662f139a33d1781e (patch) | |
tree | 06c7c4066106aebe1ffe8a7fe47bb44656ccde25 /src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.cpp | |
parent | cee1591ffce5ba923375144108075fffd3ea70a7 (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.cpp | 13 |
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 |