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 ¶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() |
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.
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 Parameter, die es erwartet, 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) | 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.
Konstante | Wert | Beschreibung |
---|---|---|
QGeoServiceProvider::NoMappingFeatures | 0 | Es 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.
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) | 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.
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) | 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.
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) | 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 ¶meters = 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.
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 Zeichenfolge 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 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 ¶meters)
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.