QGeoServiceProvider Class

Die Klasse QGeoServiceProvider aggregiert den Zugang zu Diensten, die geographische 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 &parameters = 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 &parameters)

Statische öffentliche Mitglieder

Detaillierte Beschreibung

Die Karten- und Navigations-API ermöglicht den Zugriff auf verschiedene Arten von geografischen Informationen, einschließlich Funktionen für die Geokodierung, die Routenplanung und die Anzeige von Karten. Der QGeoServiceProvider aggregiert den Zugang zu einer Reihe dieser Dienste, die von einem einzigen Anbieter bereitgestellt werden.

Es ist möglich, Dienstanbieter für die verschiedenen Bereiche zu kombinieren, so dass ein Geokodierungsmanager eines Dienstanbieters mit einem geografischen Routingmanager eines anderen Dienstanbieters verwendet werden kann.

Dies wird nicht empfohlen, es sei denn, der Kunde ist in der Lage, die Kompatibilität der von den verschiedenen Diensten bereitgestellten Daten zu überprüfen, da Unterschiede in den zugrunde liegenden Datensätzen zu schwerwiegenden Inkongruenzen zwischen den Diensten führen können.

Unterklassen von QGeoServiceProvider garantieren, dass die verschiedenen Dienste, die sie anbieten, interoperabel sind.

Jeder Dienstanbieter muss eine Namenskonvention für seine dienstspezifischen Parameternamen/Schlüssel einhalten. Sie verwenden den Anbieternamen als Präfix für alle ihre Parameternamen. Wenn ein Anbieter geladen wird, werden nur die Parameter weitergegeben, deren Parameternamen mit dem Anbieternamen beginnen. Dadurch wird vermieden, dass sensible Parameter wie vertrauliche token oder app_id Parameter mit anderen Plugins geteilt werden.

Eine vollständige Liste der verfügbaren Parameternamen/-schlüssel und -werte finden Sie in der Plugin-spezifischen Dokumentation zu GeoServices.

Dokumentation der Mitgliedstypen

enum QGeoServiceProvider::Error

Beschreibt einen Fehler im Zusammenhang mit dem Laden und Einrichten eines Dienstanbieter-Plugins.

KonstanteWertBeschreibung
QGeoServiceProvider::NoError0Es ist kein Fehler aufgetreten.
QGeoServiceProvider::NotSupportedError1Das Plugin unterstützt diese Funktionalität nicht.
QGeoServiceProvider::UnknownParameterError2Das Plugin hat einen der übergebenen Parameter nicht erkannt.
QGeoServiceProvider::MissingRequiredParameterError3Das Plugin hat einen der Parameter, die es erwartet, nicht gefunden.
QGeoServiceProvider::ConnectionError4Das Plugin konnte keine Verbindung zu seinem Backend-Dienst oder seiner Datenbank herstellen.
QGeoServiceProvider::LoaderError5Das Plugin konnte nicht geladen werden.

enum QGeoServiceProvider::GeocodingFeature
flags QGeoServiceProvider::GeocodingFeatures

Beschreibt die vom Geodienstanbieter unterstützten Geokodierungsfunktionen.

KonstanteWertBeschreibung
QGeoServiceProvider::NoGeocodingFeatures0Es 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)Umgekehrte Geokodierung wird unterstützt.
QGeoServiceProvider::LocalizedGeocodingFeature(1<<3)Unterstützt die Rückgabe von Geokodierungsergebnissen mit lokalisierten Adressen.
QGeoServiceProvider::AnyGeocodingFeatures~(0)Passt zu einem Geodienstanbieter, der beliebige Geokodierungsfunktionen bereitstellt.

Der Typ GeocodingFeatures ist ein Typedef für QFlags<GeocodingFeature>. Er speichert eine OR-Kombination von GeocodingFeature-Werten.

enum QGeoServiceProvider::MappingFeature
flags QGeoServiceProvider::MappingFeatures

Beschreibt die vom Geodienstanbieter unterstützten Mapping-Features.

KonstanteWertBeschreibung
QGeoServiceProvider::NoMappingFeatures0Es werden keine Mapping-Funktionen unterstützt.
QGeoServiceProvider::OnlineMappingFeature(1<<0)Online-Kartierung wird unterstützt.
QGeoServiceProvider::OfflineMappingFeature(1<<1)Offline-Zuordnung wird unterstützt.
QGeoServiceProvider::LocalizedMappingFeature(1<<2)Unterstützt die Rückgabe von lokalisierten Kartendaten.
QGeoServiceProvider::AnyMappingFeatures~(0)Passt zu einem Geodienstanbieter, der Kartierungsfunktionen bereitstellt.

Der Typ MappingFeatures ist ein Typedef für QFlags<MappingFeature>. Er speichert eine OR-Kombination von MappingFeature-Werten.

Beschreibt die vom Geodienstanbieter unterstützten Navigationsfunktionen.

KonstanteWertBeschreibung
QGeoServiceProvider::NoNavigationFeatures0Es 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)Passt zu einem Geodienstanbieter, der beliebige Navigationsfunktionen anbietet.

Der Typ NavigationFeatures ist ein Typedef 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.

KonstanteWertBeschreibung
QGeoServiceProvider::NoPlacesFeatures0Es 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)Die Suche nach Vorschlägen wird unterstützt.
QGeoServiceProvider::LocalizedPlacesFeature(1<<8)Unterstützt die Rückgabe von lokalisierten Ortsdaten.
QGeoServiceProvider::NotificationsFeature(1<<9)Benachrichtigungen über Orts- und Kategorieänderungen werden unterstützt.
QGeoServiceProvider::PlaceMatchingFeature(1<<10)Unterstützt den Abgleich von Orten von zwei verschiedenen Geodienstanbietern.
QGeoServiceProvider::AnyPlacesFeatures~(0)Passt zu einem Geodienstanbieter, der beliebige Ortsmerkmale anbietet.

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-Features.

KonstanteWertBeschreibung
QGeoServiceProvider::NoRoutingFeatures0Es 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)Unterstützt die Rückgabe von Routen mit lokalisierten Adressen und Anweisungen.
QGeoServiceProvider::RouteUpdatesFeature(1<<3)Die Aktualisierung einer bestehenden Route auf Basis der aktuellen Position wird unterstützt.
QGeoServiceProvider::AlternativeRoutesFeature(1<<4)Unterstützt die Rückgabe alternativer Routen.
QGeoServiceProvider::ExcludeAreasRoutingFeature(1<<5)Unterstützt die Angabe eines Gebiets, das die zurückgegebene Route nicht durchqueren darf.
QGeoServiceProvider::AnyRoutingFeatures~(0)Passt zu einem Geodienstanbieter, der beliebige Routing-Funktionen anbietet.

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 &parameters = QVariantMap(), bool allowExperimental = false)

Konstruiert 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.

Wenn allowExperimental wahr ist, können Plugins, die als experimentell gekennzeichnet sind, verwendet werden. Standardmäßig werden experimentelle Plugins nicht berücksichtigt.

Wenn kein Plugin, das providerName entspricht, geladen werden konnte, geben error() und errorString() Auskunft darüber, warum dies der Fall ist.

Hinweis: Bevor die Liste von parameters an das zu ladende Provider-Plugin weitergegeben wird, wird die Liste gefiltert, um die gemeinsame Nutzung von Plugin-spezifischen Parametern mit nicht verwandten Provider-Plugins zu vermeiden. Plugin-spezifischen Parameterschlüsseln muss der Name des Anbieters vorangestellt werden (z. B. here.app_id).

[virtual noexcept] QGeoServiceProvider::~QGeoServiceProvider()

Zerstört das Dienstanbieterobjekt.

[static] QStringList QGeoServiceProvider::availableServiceProviders()

Gibt eine Liste der Namen der verfügbaren Dienstanbieter zurück, die mit den QGeoServiceProvider -Konstruktoren verwendet werden kann.

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 durchgefü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 Zeichenfolge zurück, die den Fehler beschreibt, der beim letzten Versuch, einen Geokodierungsmanager zu erstellen, aufgetreten ist.

QGeoServiceProvider::GeocodingFeatures QGeoServiceProvider::geocodingFeatures() const

Gibt die vom Geodienstanbieter unterstützten Geokodierungsmerkmale zurück.

QGeoCodingManager *QGeoServiceProvider::geocodingManager() const

Gibt die vom Dienstanbieter zur Verfügung gestellte QGeoCodingManager zurück.

Diese Funktion gibt nullptr zurück, wenn der Dienstanbieter keine Geokodierungsdienste anbietet.

Beim ersten Aufruf dieser Funktion wird versucht, eine Instanz von QGeoCodingManager zu erstellen. Wenn der Versuch erfolgreich ist, wird QGeoCodingManager zwischengespeichert, andernfalls wird bei jedem Aufruf dieser Funktion versucht, eine QGeoCodingManager Instanz zu erstellen, bis die Erstellung erfolgreich ist.

Die QGeoCodingManager ist Eigentum 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.

Nachdem diese Funktion aufgerufen wurde, melden error() und errorString() alle Fehler, die während der Konstruktion von 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 Kartierungsmerkmale zurück.

Gibt einen Fehlercode zurück, der den Fehler beschreibt, der beim letzten Versuch, einen Navigationsmanager zu erstellen, aufgetreten ist.

Gibt eine Zeichenfolge zurück, die den Fehler beschreibt, der beim letzten Versuch, einen Navigationsmanager zu erstellen, aufgetreten ist.

Gibt die vom Geodienstanbieter unterstützten Navigationsfunktionen zurück.

Diese Funktion wurde in QtLocation 5.11 eingeführt.

QPlaceManager *QGeoServiceProvider::placeManager() const

Gibt die vom Dienstanbieter zur Verfügung gestellte QPlaceManager zurück.

Beim ersten Aufruf dieser Funktion wird versucht, eine Instanz von QPlaceManager zu erstellen. Wenn der Versuch erfolgreich ist, wird die QPlaceManager zwischengespeichert, andernfalls wird bei jedem Aufruf dieser Funktion versucht, eine QPlace Instanz zu erstellen, bis die Erstellung erfolgreich ist.

Der QGeoPlaceManager ist Eigentum dieser 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.

Nachdem diese Funktion aufgerufen wurde, melden error() und errorString() alle Fehler, die bei der Erstellung von QPlaceManager aufgetreten sind.

QGeoServiceProvider::Error QGeoServiceProvider::placesError() const

Gibt einen Fehlercode zurück, der den Fehler beschreibt, der beim letzten Versuch, einen Platzmanager zu erstellen, aufgetreten ist.

QString QGeoServiceProvider::placesErrorString() const

Gibt eine Zeichenfolge zurück, die den Fehler beschreibt, der beim letzten Versuch, einen Platzmanager zu erstellen, aufgetreten ist.

QGeoServiceProvider::PlacesFeatures QGeoServiceProvider::placesFeatures() const

Gibt die vom Geodienstanbieter unterstützten Ortsmerkmale 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 Zeichenfolge 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 Routingfunktionen zurück.

QGeoRoutingManager *QGeoServiceProvider::routingManager() const

Gibt die vom Dienstanbieter zur Verfügung gestellte QGeoRoutingManager zurück.

Diese Funktion gibt nullptr zurück, wenn der Dienstanbieter keine geografischen Routingdienste anbietet.

Beim ersten Aufruf dieser Funktion wird versucht, eine Instanz von QGeoRoutingManager zu erstellen. Wenn der Versuch erfolgreich ist, wird die QGeoRoutingManager zwischengespeichert, andernfalls wird bei jedem Aufruf dieser Funktion versucht, eine QGeoRoutingManager Instanz zu erstellen, bis die Erstellung erfolgreich ist.

Die QGeoRoutingManager ist Eigentum 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.

Nachdem diese Funktion aufgerufen wurde, melden error() und errorString() alle Fehler, die während der Konstruktion von 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 auf allow berücksichtigt werden.

Wichtig: Dies zerstört alle vorhandenen Manager, die von dieser Dienstanbieterinstanz gehalten werden. Sie sollten sicherstellen, dass Sie nicht versuchen, Zeiger zu verwenden, die Sie zuvor nach dem Aufruf dieser Methode abgerufen haben.

void QGeoServiceProvider::setLocale(const QLocale &locale)

Setzt das von diesem Dienstanbieter verwendete Gebietsschema auf locale. Wenn die entsprechenden Merkmale (siehe LocalizedMappingFeature usw.) vorhanden sind, werden dadurch die Sprachen, Einheiten und andere gebietsspezifische Attribute der Daten des Anbieters geändert.

void QGeoServiceProvider::setParameters(const QVariantMap &parameters)

Setzt die Parameter, die zur Konstruktion der einzelnen Managerklassen für diesen Dienstanbieter verwendet werden, auf parameters.

Bevor die Liste von parameters an den zu ladenden Dienstanbieter weitergegeben wird, wird die Liste gefiltert, um die gemeinsame Nutzung anbieterspezifischer Parameter mit nicht verwandten Dienstanbietern zu vermeiden. Den anbieterspezifischen Parameterschlüsseln muss der Anbietername vorangestellt werden (z. B. here.app_id).

Wichtig: Dadurch werden alle vorhandenen Manager dieser Dienstanbieterinstanz zerstört. Stellen Sie sicher, dass Sie nicht versuchen, Zeiger zu verwenden, die Sie zuvor nach dem Aufruf dieser Methode abgerufen haben.

© 2025 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.