QGeoServiceProvider Class
Die Klasse „QGeoServiceProvider“ bündelt den Zugriff auf Dienste, die geografische Informationen bereitstellen. Mehr...
| Header: | #include <QGeoServiceProvider> |
| qmake: | QT += location |
| Inherits: | QObject |
Öffentliche Typen
| enum | Error { NoError, NotSupportedError, UnknownParameterError, MissingRequiredParameterError, ConnectionError, LoaderError } |
| enum | GeocodingFeature { NoGeocodingFeatures, OnlineGeocodingFeature, OfflineGeocodingFeature, ReverseGeocodingFeature, LocalizedGeocodingFeature, AnyGeocodingFeatures } |
| flags | GeocodingFeatures |
| enum | MappingFeature { NoMappingFeatures, OnlineMappingFeature, OfflineMappingFeature, LocalizedMappingFeature, AnyMappingFeatures } |
| flags | MappingFeatures |
| enum | NavigationFeature { NoNavigationFeatures, OnlineNavigationFeature, OfflineNavigationFeature, AnyNavigationFeatures } |
| flags | NavigationFeatures |
| enum | PlacesFeature { NoPlacesFeatures, OnlinePlacesFeature, OfflinePlacesFeature, SavePlaceFeature, RemovePlaceFeature, …, AnyPlacesFeatures } |
| flags | PlacesFeatures |
| enum | RoutingFeature { NoRoutingFeatures, OnlineRoutingFeature, OfflineRoutingFeature, LocalizedRoutingFeature, RouteUpdatesFeature, …, AnyRoutingFeatures } |
| flags | RoutingFeatures |
Öffentliche Funktionen
| QGeoServiceProvider(const QString &providerName, const QVariantMap ¶meters = QVariantMap(), bool allowExperimental = false) | |
| virtual | ~QGeoServiceProvider() |
| QGeoServiceProvider::Error | error() const |
| QString | errorString() const |
| QGeoServiceProvider::Error | geocodingError() const |
| QString | geocodingErrorString() const |
| QGeoServiceProvider::GeocodingFeatures | geocodingFeatures() const |
| QGeoCodingManager * | geocodingManager() const |
| QGeoServiceProvider::Error | mappingError() const |
| QString | mappingErrorString() const |
| QGeoServiceProvider::MappingFeatures | mappingFeatures() const |
| QGeoServiceProvider::Error | navigationError() const |
| QString | navigationErrorString() const |
(since QtLocation 5.11) QGeoServiceProvider::NavigationFeatures | navigationFeatures() const |
| QPlaceManager * | placeManager() const |
| QGeoServiceProvider::Error | placesError() const |
| QString | placesErrorString() const |
| QGeoServiceProvider::PlacesFeatures | placesFeatures() const |
| QGeoServiceProvider::Error | routingError() const |
| QString | routingErrorString() const |
| QGeoServiceProvider::RoutingFeatures | routingFeatures() const |
| QGeoRoutingManager * | routingManager() const |
| void | setAllowExperimental(bool allow) |
| void | setLocale(const QLocale &locale) |
| void | setParameters(const QVariantMap ¶meters) |
Statische öffentliche Mitglieder
| QStringList | availableServiceProviders() |
Ausführliche Beschreibung
Die Maps- und Navigation-API ermöglicht den Zugriff auf verschiedene Arten von geografischen Informationen, einschließlich Funktionen zur Geokodierung, Routenplanung und Kartenanzeige. Der QGeoServiceProvider bündelt den Zugriff auf eine Reihe dieser Dienste, die von einem einzigen Anbieter bereitgestellt werden.
Es ist möglich, Dienstanbieter für die verschiedenen Bereiche zu kombinieren, sodass beispielsweise ein Geokodierungsmanager eines Dienstanbieters mit einem Routing-Manager eines anderen Dienstanbieters verwendet werden kann.
Dies wird jedoch nicht empfohlen, es sei denn, der Client kann sicherstellen, dass die von den verschiedenen Diensten bereitgestellten Daten kompatibel sind, da Unterschiede in den zugrunde liegenden Datensätzen zu schwerwiegenden Inkonsistenzen zwischen den Diensten führen könnten.
Unterklassen von QGeoServiceProvider gewährleisten, dass die von ihnen bereitgestellten Dienste miteinander kompatibel sind.
Jeder Dienstanbieter muss bei seinen dienstspezifischen Parameternamen/-schlüsseln eine Namenskonvention einhalten. Als Präfix für alle Parameternamen wird der Name des Anbieters verwendet. Beim Laden eines Anbieters werden nur jene Parameter weitergegeben, deren Namen mit dem Namen des Anbieters beginnen. Dadurch wird vermieden, dass sensible Parameter wie „confidential token “ oder „ app_id “ an andere Plugins weitergegeben werden.
Bitte lesen Sie die spezifische Dokumentation zum GeoServices-Plugin, um eine vollständige Liste der verfügbaren Parameternamen/-schlüssel und Werte zu erhalten.
Dokumentation zu Mitgliedstypen
enum QGeoServiceProvider::Error
Beschreibt einen Fehler im Zusammenhang mit dem Laden und der Einrichtung eines Dienstanbieter-Plugins.
| Konstante | Wert | Beschreibung |
|---|---|---|
QGeoServiceProvider::NoError | 0 | Es ist kein Fehler aufgetreten. |
QGeoServiceProvider::NotSupportedError | 1 | Das Plugin unterstützt diese Funktionalität nicht. |
QGeoServiceProvider::UnknownParameterError | 2 | Das Plugin hat einen der übergebenen Parameter nicht erkannt. |
QGeoServiceProvider::MissingRequiredParameterError | 3 | Das Plugin hat einen der erwarteten Parameter nicht gefunden. |
QGeoServiceProvider::ConnectionError | 4 | Das Plugin konnte keine Verbindung zu seinem Backend-Dienst oder seiner Datenbank herstellen. |
QGeoServiceProvider::LoaderError | 5 | Das Plugin konnte nicht geladen werden. |
enum QGeoServiceProvider::GeocodingFeature
flags QGeoServiceProvider::GeocodingFeatures
Beschreibt die vom Geodienstanbieter unterstützten Geokodierungsfunktionen.
| Konstante | Wert | Beschreibung |
|---|---|---|
QGeoServiceProvider::NoGeocodingFeatures | 0 | Es werden keine Geokodierungsfunktionen unterstützt. |
QGeoServiceProvider::OnlineGeocodingFeature | (1<<0) | Online-Geokodierung wird unterstützt. |
QGeoServiceProvider::OfflineGeocodingFeature | (1<<1) | Offline-Geokodierung wird unterstützt. |
QGeoServiceProvider::ReverseGeocodingFeature | (1<<2) | Reverse-Geokodierung wird unterstützt. |
QGeoServiceProvider::LocalizedGeocodingFeature | (1<<3) | Unterstützt die Rückgabe von Geokodierungsergebnissen mit lokalisierten Adressen. |
QGeoServiceProvider::AnyGeocodingFeatures | ~(0) | Entspricht einem Geodienstanbieter, der beliebige Geokodierungsfunktionen bereitstellt. |
Der Typ „GeocodingFeatures“ ist ein typedef für „QFlags<GeocodingFeature>“. Er speichert eine ODER-Kombination von „GeocodingFeature“-Werten.
enum QGeoServiceProvider::MappingFeature
flags QGeoServiceProvider::MappingFeatures
Beschreibt die vom Geodienstanbieter unterstützten Kartierungsfunktionen.
| Konstante | Wert | Beschreibung |
|---|---|---|
QGeoServiceProvider::NoMappingFeatures | 0 | Es werden keine Kartierungsfunktionen unterstützt. |
QGeoServiceProvider::OnlineMappingFeature | (1<<0) | Online-Kartierung wird unterstützt. |
QGeoServiceProvider::OfflineMappingFeature | (1<<1) | Offline-Karten werden unterstützt. |
QGeoServiceProvider::LocalizedMappingFeature | (1<<2) | Unterstützt die Rückgabe lokalisierter Kartendaten. |
QGeoServiceProvider::AnyMappingFeatures | ~(0) | Entspricht einem Geodienstanbieter, der beliebige Kartierungsfunktionen bereitstellt. |
Der Typ „MappingFeatures“ ist ein typedef für „QFlags<MappingFeature>“. Er speichert eine OR-Kombination von „MappingFeature“-Werten.
enum QGeoServiceProvider::NavigationFeature
flags QGeoServiceProvider::NavigationFeatures
Beschreibt die vom Geodienstanbieter unterstützten Navigationsfunktionen.
| Konstante | Wert | Beschreibung |
|---|---|---|
QGeoServiceProvider::NoNavigationFeatures | 0 | Es werden keine Navigationsfunktionen unterstützt. |
QGeoServiceProvider::OnlineNavigationFeature | (1<<0) | Online-Navigation wird unterstützt. |
QGeoServiceProvider::OfflineNavigationFeature | (1<<1) | Offline-Navigation wird unterstützt. |
QGeoServiceProvider::AnyNavigationFeatures | ~(0) | Entspricht einem Geodienstanbieter, der beliebige Navigationsfunktionen bereitstellt. |
Der Typ „NavigationFeatures“ ist eine Typdefinition für „QFlags<NavigationFeature>“. Er speichert eine ODER-Kombination von „NavigationFeature“-Werten.
enum QGeoServiceProvider::PlacesFeature
flags QGeoServiceProvider::PlacesFeatures
Beschreibt die vom Geodienstanbieter unterstützten Ortsmerkmale.
| Konstante | Wert | Beschreibung |
|---|---|---|
QGeoServiceProvider::NoPlacesFeatures | 0 | Es werden keine Ortsmerkmale unterstützt. |
QGeoServiceProvider::OnlinePlacesFeature | (1<<0) | Online-Orte werden unterstützt. |
QGeoServiceProvider::OfflinePlacesFeature | (1<<1) | Offline-Orte werden unterstützt. |
QGeoServiceProvider::SavePlaceFeature | (1<<2) | Das Speichern von Orten wird unterstützt. |
QGeoServiceProvider::RemovePlaceFeature | (1<<3) | Das Entfernen oder Löschen von Orten wird unterstützt. |
QGeoServiceProvider::SaveCategoryFeature | (1<<4) | Das Speichern von Kategorien wird unterstützt. |
QGeoServiceProvider::RemoveCategoryFeature | (1<<5) | Das Entfernen oder Löschen von Kategorien wird unterstützt. |
QGeoServiceProvider::PlaceRecommendationsFeature | (1<<6) | Die Suche nach empfohlenen Orten, die einem anderen Ort ähnlich sind, wird unterstützt. |
QGeoServiceProvider::SearchSuggestionsFeature | (1<<7) | Suchvorschläge werden unterstützt. |
QGeoServiceProvider::LocalizedPlacesFeature | (1<<8) | Die Rückgabe lokalisierter Ortsdaten wird unterstützt. |
QGeoServiceProvider::NotificationsFeature | (1<<9) | Benachrichtigungen über Änderungen an Orten und Kategorien werden unterstützt. |
QGeoServiceProvider::PlaceMatchingFeature | (1<<10) | Es wird die Zuordnung von Orten aus zwei verschiedenen Geodienstanbietern unterstützt. |
QGeoServiceProvider::AnyPlacesFeatures | ~(0) | Stimmt mit einem Geodienstanbieter überein, der beliebige Ortsmerkmale bereitstellt. |
Der Typ „PlacesFeatures“ ist ein `typedef` für ` QFlags<PlacesFeature>`. Er speichert eine ODER-Kombination von `PlacesFeature`-Werten.
enum QGeoServiceProvider::RoutingFeature
flags QGeoServiceProvider::RoutingFeatures
Beschreibt die vom Geodienstanbieter unterstützten Routing-Funktionen.
| Konstante | Wert | Beschreibung |
|---|---|---|
QGeoServiceProvider::NoRoutingFeatures | 0 | Es werden keine Routing-Funktionen unterstützt. |
QGeoServiceProvider::OnlineRoutingFeature | (1<<0) | Online-Routing wird unterstützt. |
QGeoServiceProvider::OfflineRoutingFeature | (1<<1) | Offline-Routing wird unterstützt. |
QGeoServiceProvider::LocalizedRoutingFeature | (1<<2) | Die Ausgabe von Routen mit lokalisierten Adressen und Anweisungen wird unterstützt. |
QGeoServiceProvider::RouteUpdatesFeature | (1<<3) | Die Aktualisierung einer bestehenden Route basierend auf der aktuellen Position wird unterstützt. |
QGeoServiceProvider::AlternativeRoutesFeature | (1<<4) | Die Ausgabe alternativer Routen wird unterstützt. |
QGeoServiceProvider::ExcludeAreasRoutingFeature | (1<<5) | Es wird die Angabe von Gebieten unterstützt, die die zurückgegebene Route nicht durchqueren darf. |
QGeoServiceProvider::AnyRoutingFeatures | ~(0) | Entspricht einem Geodienstanbieter, der beliebige Routing-Funktionen bereitstellt. |
Der Typ „RoutingFeatures“ ist ein typedef für QFlags<RoutingFeature>. Er speichert eine ODER-Kombination von RoutingFeature-Werten.
Dokumentation der Mitgliedsfunktionen
QGeoServiceProvider::QGeoServiceProvider(const QString &providerName, const QVariantMap ¶meters = QVariantMap(), bool allowExperimental = false)
Erstellt einen QGeoServiceProvider, dessen Backend den Namen „ providerName “ trägt, unter Verwendung des angegebenen „ parameters “.
Wenn mehrere Plugins denselben ` providerName` haben, wird das Plugin mit der höchsten gemeldeten `providerVersion()` verwendet.
Ist ` allowExperimental ` auf `true` gesetzt, können als experimentell gekennzeichnete Plugins verwendet werden. Standardmäßig werden experimentelle Plugins nicht berücksichtigt.
Wenn kein Plugin geladen werden konnte, das dem Wert von ` providerName ` entspricht, liefern die Methoden ` error()` und ` errorString()` Details darüber, warum dies der Fall ist.
Hinweis: Bevor die Liste der „ parameters “ an das zu ladende Provider-Plugin übergeben wird, wird die Liste gefiltert, um zu vermeiden, dass pluginspezifische Parameter mit nicht zugehörigen Provider-Plugins geteilt werden. Pluginspezifische Parameterschlüssel müssen mit dem Namen des Providers vorangestellt werden (z. B. here.app_id).
[virtual noexcept] QGeoServiceProvider::~QGeoServiceProvider()
Löscht das Dienstanbieter-Objekt.
[static] QStringList QGeoServiceProvider::availableServiceProviders()
Gibt eine Liste mit den Namen der verfügbaren Dienstanbieter zurück, die mit den Konstruktoren von „ QGeoServiceProvider “ verwendet werden können.
QGeoServiceProvider::Error QGeoServiceProvider::error() const
Gibt einen Fehlercode zurück, der den Fehler beschreibt, der bei der letzten von dieser Klasse durchgeführten Operation aufgetreten ist.
QString QGeoServiceProvider::errorString() const
Gibt eine Zeichenkette zurück, die den Fehler beschreibt, der bei der letzten von dieser Klasse ausgeführten Operation aufgetreten ist.
QGeoServiceProvider::Error QGeoServiceProvider::geocodingError() const
Gibt einen Fehlercode zurück, der den Fehler beschreibt, der beim letzten Versuch, einen Geokodierungsmanager zu erstellen, aufgetreten ist.
QString QGeoServiceProvider::geocodingErrorString() const
Gibt eine Zeichenkette zurück, die den Fehler beschreibt, der beim letzten Versuch, einen Geokodierungs-Manager zu erstellen, aufgetreten ist.
QGeoServiceProvider::GeocodingFeatures QGeoServiceProvider::geocodingFeatures() const
Gibt die vom Geodienstanbieter unterstützten Geokodierungsfunktionen zurück.
QGeoCodingManager *QGeoServiceProvider::geocodingManager() const
Gibt die vom Dienstanbieter bereitgestellten „ QGeoCodingManager “ zurück.
Diese Funktion gibt „ nullptr “ zurück, wenn der Dienstanbieter keine Geokodierungsdienste bereitstellt.
Diese Funktion versucht beim ersten Aufruf, eine „ QGeoCodingManager “-Instanz zu erstellen. Ist der Versuch erfolgreich, wird die „ QGeoCodingManager “-Instanz zwischengespeichert; andernfalls versucht jeder Aufruf dieser Funktion, eine „ QGeoCodingManager “-Instanz zu erstellen, bis die Erstellung erfolgreich ist.
Die ` QGeoCodingManager ` gehört zu dieser ` QGeoServiceProvider ` und sollte nicht separat gelöscht werden. Benutzer sollten davon ausgehen, dass das Löschen der ` QGeoServiceProvider ` den von dieser Methode zurückgegebenen Zeiger ungültig macht.
Nach dem Aufruf dieser Funktion melden die Methoden ` error()` und ` errorString()` alle Fehler, die während der Erstellung der ` QGeoCodingManager` aufgetreten sind.
QGeoServiceProvider::Error QGeoServiceProvider::mappingError() const
Gibt einen Fehlercode zurück, der den Fehler beschreibt, der beim letzten Versuch, einen Mapping-Manager zu erstellen, aufgetreten ist.
QString QGeoServiceProvider::mappingErrorString() const
Gibt eine Zeichenkette zurück, die den Fehler beschreibt, der beim letzten Versuch, einen Mapping-Manager zu erstellen, aufgetreten ist.
QGeoServiceProvider::MappingFeatures QGeoServiceProvider::mappingFeatures() const
Gibt die vom Geodienstanbieter unterstützten Kartierungsfunktionen zurück.
QGeoServiceProvider::Error QGeoServiceProvider::navigationError() const
Gibt einen Fehlercode zurück, der den Fehler beschreibt, der beim letzten Versuch, einen Navigationsmanager zu erstellen, aufgetreten ist.
QString QGeoServiceProvider::navigationErrorString() const
Gibt eine Zeichenkette zurück, die den Fehler beschreibt, der beim letzten Versuch, einen Navigationsmanager zu erstellen, aufgetreten ist.
[since QtLocation 5.11] QGeoServiceProvider::NavigationFeatures QGeoServiceProvider::navigationFeatures() const
Gibt die vom Geo-Dienstanbieter unterstützten Navigationsfunktionen zurück.
Diese Funktion wurde in QtLocation 5.11 eingeführt.
QPlaceManager *QGeoServiceProvider::placeManager() const
Gibt die vom Dienstanbieter bereitgestellte „ QPlaceManager “-Instanz zurück.
Diese Funktion versucht beim ersten Aufruf, eine „ QPlaceManager “-Instanz zu erstellen. Ist der Versuch erfolgreich, wird die „ QPlaceManager “-Instanz zwischengespeichert; andernfalls versucht die Funktion bei jedem Aufruf, eine „ QPlace “-Instanz zu erstellen, bis die Erstellung erfolgreich ist.
Der `QGeoPlaceManager` gehört zu diesem ` QGeoServiceProvider ` und sollte nicht separat gelöscht werden. Benutzer sollten davon ausgehen, dass das Löschen des ` QGeoServiceProvider ` den von dieser Methode zurückgegebenen Zeiger ungültig macht.
Nach dem Aufruf dieser Funktion melden die Methoden „ error()“ und „ errorString()“ alle Fehler, die während der Erstellung des „ QPlaceManager “ aufgetreten sind.
QGeoServiceProvider::Error QGeoServiceProvider::placesError() const
Gibt einen Fehlercode zurück, der den Fehler beschreibt, der beim letzten Versuch, einen Orte-Manager zu erstellen, aufgetreten ist.
QString QGeoServiceProvider::placesErrorString() const
Gibt eine Zeichenkette zurück, die den Fehler beschreibt, der beim letzten Versuch, einen Ortsmanager anzulegen, aufgetreten ist.
QGeoServiceProvider::PlacesFeatures QGeoServiceProvider::placesFeatures() const
Gibt die vom Geodienstanbieter unterstützten Ortsobjekte zurück.
QGeoServiceProvider::Error QGeoServiceProvider::routingError() const
Gibt einen Fehlercode zurück, der den Fehler beschreibt, der beim letzten Versuch, einen Routing-Manager zu erstellen, aufgetreten ist.
QString QGeoServiceProvider::routingErrorString() const
Gibt eine Zeichenkette zurück, die den Fehler beschreibt, der beim letzten Versuch, einen Routing-Manager zu erstellen, aufgetreten ist.
QGeoServiceProvider::RoutingFeatures QGeoServiceProvider::routingFeatures() const
Gibt die vom Geodienstanbieter unterstützten Routing-Funktionen zurück.
QGeoRoutingManager *QGeoServiceProvider::routingManager() const
Gibt die vom Dienstanbieter bereitgestellten „ QGeoRoutingManager “ zurück.
Diese Funktion gibt „ nullptr “ zurück, wenn der Dienstanbieter keine geografischen Routing-Dienste bereitstellt.
Diese Funktion versucht beim ersten Aufruf, eine „ QGeoRoutingManager “-Instanz zu erstellen. Ist der Versuch erfolgreich, wird die „ QGeoRoutingManager “-Instanz zwischengespeichert; andernfalls wird bei jedem Aufruf dieser Funktion versucht, eine „ QGeoRoutingManager “-Instanz zu erstellen, bis die Erstellung erfolgreich ist.
Die „ QGeoRoutingManager “ gehört zu diesem „ QGeoServiceProvider “ und sollte nicht separat gelöscht werden. Benutzer sollten davon ausgehen, dass das Löschen der „ QGeoServiceProvider “ den von dieser Methode zurückgegebenen Zeiger ungültig macht.
Nach dem Aufruf dieser Funktion melden die Methoden ` error()` und ` errorString()` alle Fehler, die während der Erstellung der ` QGeoRoutingManager` aufgetreten sind.
void QGeoServiceProvider::setAllowExperimental(bool allow)
Legt fest, ob experimentelle Plugins bei der Suche nach der richtigen Plugin-Bibliothek für diesen Dienstanbieter unter allow berücksichtigt werden sollen.
Wichtig: Dadurch werden alle bestehenden Manager dieser Dienstanbieter-Instanz gelöscht. Sie sollten darauf achten, nach dem Aufruf dieser Methode keine zuvor abgerufenen Zeiger mehr zu verwenden.
void QGeoServiceProvider::setLocale(const QLocale &locale)
Legt die von diesem Dienstanbieter verwendete Ländereinstellung auf „ locale “ fest. Sofern die entsprechenden Funktionen aktiviert sind (siehe LocalizedMappingFeature usw.), werden dadurch die Sprachen, Einheiten und andere länderspezifische Attribute der Daten des Anbieters geändert.
void QGeoServiceProvider::setParameters(const QVariantMap ¶meters)
Legt die Parameter fest, die zur Erstellung einzelner Manager-Klassen für diesen Dienstanbieter verwendet werden: parameters.
Bevor die Liste von „ parameters “ an den zu ladenden Dienstanbieter weitergeleitet wird, wird sie gefiltert, um zu vermeiden, dass anbieter-spezifische Parameter mit nicht zugehörigen Dienstanbietern geteilt werden. Anbieter-spezifische Parameterschlüssel müssen mit dem Namen des Anbieters vorangestellt werden (z. B. „ here.app_id “).
Wichtig: Dies löscht alle vorhandenen Manager, die von dieser Dienstanbieter-Instanz verwaltet werden. Sie sollten darauf achten, nach dem Aufruf dieser Methode keine Zeiger mehr zu verwenden, die Sie zuvor abgerufen haben.
© 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.