Auf dieser Seite

Qt Location OpenStreetMap-Plugin

Übersicht

Dieses GeoServices-Plugin ermöglicht Anwendungen den Zugriff auf standortbezogene Dienste von OpenStreetMap über die „ Qt Location “-API.

Daten, Bildmaterial und Karteninformationen werden von ThunderForest, OpenStreetMap und Mitwirkenden bereitgestellt. Die Daten stehen unter der Open Database License zur Verfügung.

Das OpenStreetMap-Geodienst-Plugin kann mithilfe des Plugin-Schlüssels „osm“ geladen werden.

Hinweis: Die Standardkartentypen stützen sich (teilweise) auf kostenlose Datenanbieter. Wir bemühen uns, die Auswahl für Evaluierungs- und Entwicklungszwecke sinnvoll zu gestalten, doch liegt es in Ihrer Verantwortung, einen Datenanbieter auszuwählen, der Ihren Anforderungen im Produktionsbetrieb entspricht. Es wird dringend empfohlen, die Nutzungsbedingungen der jeweiligen Anbieter sorgfältig zu lesen und einzuhalten. Eine Liste alternativer Datenanbieter ist im OpenStreetMap-Wiki verfügbar. Die von diesem Plugin angebotenen Kartentypen können sich je nach der tatsächlichen Verfügbarkeit eines geeigneten, offen zugänglichen Anbieters für den jeweiligen Typ ohne Vorankündigung ändern (oder entfernt werden). Dies bedeutet auch, dass Anbieter genutzt werden können, die Kacheln über HTTPS bereitstellen. Dies ist relevant, wenn das OSM-Plugin auf Plattformen wie Android verwendet wird, für die die SSL-Unterstützung standardmäßig nicht in Qt integriert ist. Um diese Änderungen zu vermeiden, sollte entweder ein anderes Geodienst-Plugin verwendet werden oder der Plugin-Parameter `osm.mapping.providersrepository.address ` auf ein benutzerdefiniertes Repository gesetzt werden, um die volle Kontrolle über die Auswahl des für jeden Kartentyp verwendeten Anbieters zu erlangen. Seit Qt 5.9.6 wird der standardmäßige Nominatim-Endpunkt, der für Geokodierung und Orte verwendet wird, ebenfalls ausschließlich über HTTPS bereitgestellt.

Parameter

Optionale Parameter

Die folgende Tabelle listet optionale Parameter auf, die an das OpenStreetMap-Plugin übergeben werden können.

Hinweis: Seit Qt 5.5 müssen allen unten aufgeführten Parametern „ osm “ vorangestellt werden. In früheren Versionen war kein Präfix erforderlich.

ParameterBeschreibung
osm.geocoding.hostURL-Zeichenkette, die bei Netzwerkanfragen an den Geokodierungsserver verwendet wird. Dieser Parameter sollte auf eine gültige Server-URL mit der richtigen OSM-API gesetzt werden. Wird er nicht angegeben, wird die Standard-URL verwendet.

Hinweis: Die API-Dokumentation ist unter Project OSM Nominatim verfügbar.

osm.geocoding.debug_queryWeist das Plugin an, die Abfrage-URL an Nominatim zu Debugging-Zwecken in die Geocode-Antwort einzufügen.
osm.geocoding.include_extended_dataWeist das Plugin an, Nominatim-spezifische Informationen (wie Geometrie und Klasse) in die zurückgegebenen „Location“-Objekte aufzunehmen, die als „extendedAttributes“ bereitgestellt werden.
osm.mapping.cache.directoryAbsoluter Pfad zum Verzeichnis für den Kartenkache, der als Netzwerk-Festplattencache verwendet wird.

Der Standardpfad für den Cache ist das Unterverzeichnis „ QtLocation/osm “ an dem von ` QStandardPaths::writableLocation()` zurückgegebenen Speicherort, aufgerufen mit ` QStandardPaths::GenericCacheLocation ` als Parameter. Auf Systemen, die kein Konzept eines gemeinsam genutzten Caches kennen, wird stattdessen der anwendungsspezifische Pfad ` QStandardPaths::CacheLocation ` verwendet.

osm.mapping.cache.disk.cost_strategyDie Kostenstrategie, die zum Zwischenspeichern von Kartenkacheln auf der Festplatte verwendet werden soll. Gültige Werte sind „bytesize“ und „unitary“. Bei Verwendung von „bytesize“ wird der zugehörige Größenparameter (osm.mapping.cache.disk.size) als Byte-Anzahl interpretiert. Bei Verwendung von „unitary“ wird er als Anzahl der Kacheln interpretiert. Der Standardwert für diesen Parameter ist „bytesize“.
osm.mapping.cache.disk.sizeGröße des Festplatten-Caches für Kartenkacheln. Die Standardgröße des Caches beträgt 50 MiB, wenn „bytesize“ als Kostenstrategie für diesen Cache verwendet wird, oder 1000 Kacheln, wenn „unitary“ als Kostenstrategie verwendet wird.
osm.mapping.cache.memory.cost_strategyDie Kostenstrategie, die zum Zwischenspeichern von Kartenkacheln im Arbeitsspeicher verwendet werden soll. Gültige Werte sind „bytesize“ und „unitary“. Bei Verwendung von „bytesize“ wird der zugehörige Größenparameter (osm.mapping.cache.memory.size) als Byte interpretiert. Bei Verwendung von „unitary“ wird er als Anzahl der Kacheln interpretiert. Der Standardwert für diesen Parameter ist „bytesize“.
osm.mapping.cache.memory.sizeGröße des Speicher-Caches für Kartenkacheln. Die Standardgröße des Caches beträgt 3 MiB, wenn „bytesize“ als Kostenstrategie für diesen Cache verwendet wird, oder 100 Kacheln, wenn „unitary“ als Kostenstrategie verwendet wird.
osm.mapping.cache.texture.cost_strategyDie Kostenstrategie, die zum Zwischenspeichern dekomprimierter Kartenkacheln im Speicher verwendet werden soll. Gültige Werte sind „bytesize“ und „unitary“. Bei Verwendung von „bytesize“ wird der zugehörige Größenparameter (osm.mapping.cache.texture.size) als Byte-Angabe interpretiert. Bei Verwendung von „unitary“ wird er als Anzahl von Kacheln interpretiert. Der Standardwert für diesen Parameter ist „bytesize“.
osm.mapping.cache.texture.sizeGröße des Textur-Caches für Kartenkacheln. Die Standardgröße des Caches beträgt 6 MiB, wenn „bytesize“ als Kostenstrategie für diesen Cache verwendet wird, oder 30 Kacheln, wenn „unitary“ als Kostenstrategie verwendet wird. Beachten Sie, dass der Textur-Cache eine feste Mindestgröße hat, die von der Größe des Karten-Viewports abhängt (er muss genügend Daten enthalten, um die derzeit auf dem Bildschirm sichtbaren Kacheln anzuzeigen). Dieser Wert gibt die Menge an Cache an, die zusätzlich zum absoluten Minimum verwendet werden soll.
osm.mapping.custom.datacopyrightDie benutzerdefinierte Copyright-Zeichenkette wird verwendet, wenn „ Map::activeMapType “ über den Parameter „urlprefix“ auf „ MapType.CustomMap “ gesetzt wird. Dieses Copyright wird nur verwendet, wenn die oben genannte CustomMap verwendet wird. Ist das Feld leer, wird für die benutzerdefinierte Karte kein Copyright angezeigt.
osm.mapping.custom.hostDie URL-Zeichenkette eines benutzerdefinierten Kachelservers. Dieser Parameter sollte auf eine gültige Server-URL gesetzt werden, die die richtige OSM-API bereitstellt. Das Suffix „%z/%x/%y.png“ wird der URL hinzugefügt. Seit Version 6.5 wird das Suffix nicht hinzugefügt, wenn die URL auf „.png“ endet. Falls der Server einen API-Schlüssel erfordert, muss dieser der URL-Zeichenkette hinzugefügt werden. Um diesen Server zu nutzen, sollte der Parameter „ Map::activeMapType “ des „ Map “ auf den unterstützten Kartentyp gesetzt werden, dessen Typ „ MapType.CustomMap “ lautet. Dieser Kartentyp ist nur verfügbar, wenn dieser Plugin-Parameter gesetzt ist; in diesem Fall ist er immer „ Map::supportedMapTypes[supportedMapTypes.length - 1]“.

Hinweis: Wenn der Parameter „mapping.custom.host“ auf einen neuen Servergesetzt wird , ist der Kartenkachel-Cache für den alten „custommap“-Stil nicht mehr verwendbar.

osm.mapping.custom.mapcopyrightDie benutzerdefinierte Copyright-Zeichenkette wird verwendet, wenn „ Map::activeMapType “ über den Parameter „urlprefix“ auf „ MapType.CustomMap “ gesetzt wird. Dieses Copyright wird nur bei Verwendung der oben genannten CustomMap verwendet. Ist das Feld leer, wird für die benutzerdefinierte Karte kein Copyright angezeigt.
osm.mapping.highdpi_tilesLegt fest, ob Kacheln mit hoher DPI-Auflösung angefordert werden sollen. Gültige Werte sind „true“ und „false“. Der Standardwert ist „false“. Bitte beachten Sie, dass nicht alle Kartentypen in hoher DPI-Auflösung verfügbar sind. Die Einstellung dieses Parameters auf „true“ hat möglicherweise sogar keine Auswirkung, wenn derzeit kein Kartentyp in hoher DPI-Auflösung verfügbar ist. Die Anbieter-Informationsdateien für Kacheln mit hoher DPI-Auflösung lauten street-hires, satellite-hires, cycle-hires, transit-hires, night-transit-hires, terrain-hires und hiking-hires. Diese werden von demselben Speicherort abgerufen, der auch für die entsprechenden Kacheln mit niedriger DPI-Auflösung verwendet wird.
osm.mapping.offline.directoryAbsoluter Pfad zu einem Verzeichnis, das Kartenkacheln enthält, die als Offline-Speicher verwendet werden. Wenn diese Eigenschaft angegeben wird, arbeitet sie mit dem Netzwerk-Cache zusammen, jedoch werden Kacheln nicht automatisch eingefügt, entfernt oder aktualisiert. Das Format der Kacheln entspricht dem des Netzwerk-Caches. Es gibt keinen Standardwert; wird diese Eigenschaft nicht festgelegt, wird kein Verzeichnis indiziert und ausschließlich der Netzwerk-Cache verwendet, um die Netzwerkauslastung zu reduzieren oder als Offline-Speicher für die aktuell zwischengespeicherten Kacheln zu dienen.
osm.mapping.prefetching_styleDieser Parameter ermöglicht es, einen Hinweis darauf zu geben, wie das Vorabrufen von Kacheln durch die Engine erfolgen soll. Der Standardwert „ TwoNeighbourLayers “ bewirkt, dass die Engine Kacheln für die Ebene oberhalb und die Ebene unterhalb der aktuellen Kachelebene vorab abruft, sodass beim Vergrößern oder Verkleinern der aktuellen Zoomstufe bereits fertige Kacheln zur Verfügung stehen. „ OneNeighbourLayer “ ruft nur diejenige Ebene vorab ab, die der aktuellen Zoomstufe am nächsten liegt. Schließlich ermöglicht „ NoPrefetching “ die Deaktivierung des Vorabrufens, sodass nur sichtbare Kacheln abgerufen werden. Beachten Sie, dass dieser Hinweis je nach aktivem Kartentyp möglicherweise ignoriert wird.
osm.mapping.providersrepository.addressDas OpenStreetMap-Plugin ruft die Informationen des Anbieters aus einem Remote-Repository ab. Dies geschieht, um standardmäßig die Verwendung fest codierter Server zu vermeiden, die möglicherweise nicht mehr verfügbar sein könnten. Standardmäßig werden diese Informationen von maps-redirect.qt.io abgerufen. Durch das Setzen dieses Parameters wird die Adresse des Anbieter-Repositorys auf eine vom Benutzer angegebene Adresse geändert, die die folgenden Dateien enthalten muss: street, satellite, cycle, transit, night-transit, terrain und hiking, wobei jede dieser Dateien gültige Anbieterinformationen enthalten muss.
osm.mapping.providersrepository.disabledStandardmäßig ruft das OpenStreetMap-Plugin die Anbieterinformationen aus einem Remote-Repository ab, um einen Dienstausfall aufgrund der Nichtverfügbarkeit fest codierter Dienste zu vermeiden. Das Plugin enthält jedoch weiterhin fest codierte Fallback-Anbieterdaten für den Fall, dass das Anbieter-Repository nicht erreichbar ist. Wird dieser Parameter auf „true“ gesetzt, verwendet das Plugin ausschließlich die fest codierten URLs und verhindert somit, dass das Plugin Anbieterdaten aus dem Remote-Repository abruft.
osm.places.debug_querySetzen Sie diesen Parameter auf „true“, damit jedes Ergebnis ein erweitertes Attribut namens „requestUrl“ enthält, das die für die Abfrage verwendete URL angibt. Der Standardwert ist „false“.
osm.places.hostURL-Zeichenkette, die bei Netzwerkanfragen an den Places-Server festgelegt wird. Dieser Parameter sollte auf eine gültige Server-URL mit der korrekten OSM-API gesetzt werden. Wird er nicht angegeben, wird die Standard-URL verwendet.

Hinweis: Die API-Dokumentation ist unter Project OSM Nominatim verfügbar.

osm.places.page_sizeDie Anzahl der Ergebnisse pro Seite. Beachten Sie, dass dieser Wert serverseitig begrenzt werden kann. Der typische Höchstwert in Standard-Nominatim-Instanzen beträgt 50.
osm.routing.apiversionZeichenkette, die die API-Version des (benutzerdefinierten) OSRM-Servers angibt. Gültige Werte sind v4 und v5. Der Standardwert ist v5. Dieser Parameter sollte nur gesetzt werden, wenn „ osm.routing.host “ gesetzt ist und es sich um einen OSRM-v4-Server handelt.
osm.routing.hostURL-Zeichenkette, die bei Netzwerkanfragen an den Routing-Server verwendet wird. Dieser Parameter sollte auf eine gültige Server-URL mit der richtigen OSRM-API gesetzt werden. Wird er nicht angegeben, wird die Standard-URL verwendet.

Hinweis: Die API-Dokumentation und die Quellen sind bei Project OSRM verfügbar.

osm.useragentUser-Agent-Zeichenkette, die bei der Durchführung von Netzwerkanfragen festgelegt wird. Dieser Parameter sollte auf einen Wert gesetzt werden, der die Anwendung eindeutig identifiziert. Beachten Sie, dass Anbieter Anwendungen blockieren könnten, die diesen Parameter nicht setzen und stattdessen den Standard-User-Agent des Plugins verwenden (z. B. Nominatim für die Geokodierung).

Beispiel für die Verwendung des Parameters

Das folgende Beispiel zeigt, wie eine OSM-Plugin-Instanz mit den für den User-Agenten angegebenen Parametern sowie gegebenenfalls einer benutzerdefinierten Server-URL und den entsprechenden Copyright-Informationen für den Kachelanbieter erstellt wird. Zudem ist es möglich, einen anderen Routing-Server als den öffentlichen OSRM-Server zu wählen.

QML

Plugin {
    name: "osm"
    PluginParameter { name: "osm.useragent"; value: "My great Qt OSM application" }
    PluginParameter { name: "osm.mapping.host"; value: "http://osm.tile.server.address/" }
    PluginParameter { name: "osm.mapping.copyright"; value: "All mine" }
    PluginParameter { name: "osm.routing.host"; value: "http://osrm.server.address/viaroute" }
    PluginParameter { name: "osm.geocoding.host"; value: "http://geocoding.server.address" }
}

Weitere pluginspezifische Informationen

Kache-Cache

Die Kacheln werden im Verzeichnis „ QtLocation/osm “ unter QStandardPaths::writableLocation (QStandardPaths::GenericCacheLocation) zwischengespeichert. Auf Systemen, die kein Konzept für einen gemeinsam genutzten Cache kennen, wird stattdessen der anwendungsspezifische QStandardPaths::CacheLocation verwendet.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.