QGeoServiceProvider Class
QGeoServiceProvider クラスは、地理情報を提供するサービスへのアクセスを集約します。詳細...
| Header: | #include <QGeoServiceProvider> |
| qmake: | QT += location |
| Inherits: | QObject |
パブリック型
| 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 |
パブリック関数
| 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) |
静的パブリックメンバー
| QStringList | availableServiceProviders() |
詳細な説明
Maps and Navigation API を使用すると、ジオコーディング、ルート検索、地図の表示などの機能を含め、さまざまな種類の地理情報にアクセスできます。QGeoServiceProvider は、単一のベンダーによって提供される一連のサービスへのアクセスを集約します。
さまざまなドメインのサービスプロバイダを組み合わせて使用することが可能であり、あるサービスプロバイダのジオコーディングマネージャーを、別のサービスプロバイダの地理的ルーティングマネージャーと併用することができます。
ただし、基盤となるデータセットの違いによってサービス間で深刻な不整合が生じる可能性があるため、クライアントが異なるサービスによって提供されるデータの互換性を確認できない限り、この方法は推奨されません。
QGeoServiceProvider のサブクラスは、それらが提供するさまざまなサービス間の相互運用性を保証します。
各サービスプロバイダは、そのサービス固有のパラメータ名/キーについて、命名規則に従わなければなりません。すべてのパラメータ名には、プロバイダ名をプレフィックスとして使用します。プロバイダが読み込まれると、パラメータ名がプロバイダ名で始まるもののみが渡されます。これにより、機密性の高いパラメータ(token やapp_id など)が他のプラグインと共有されるのを防ぐことができます。
利用可能なパラメータ名/キーおよび値の完全な一覧については、GeoServicesプラグインの専用ドキュメントをご確認ください。
メンバタイプのドキュメント
enum QGeoServiceProvider::Error
サービスプロバイダープラグインの読み込みおよび設定に関連するエラーについて説明します。
| 定数 | 値 | 説明 |
|---|---|---|
QGeoServiceProvider::NoError | 0 | エラーは発生していません。 |
QGeoServiceProvider::NotSupportedError | 1 | このプラグインはこの機能をサポートしていません。 |
QGeoServiceProvider::UnknownParameterError | 2 | プラグインが指定されたパラメータの 1 つを認識できませんでした。 |
QGeoServiceProvider::MissingRequiredParameterError | 3 | プラグインが期待していたパラメータのいずれかが見つかりませんでした。 |
QGeoServiceProvider::ConnectionError | 4 | プラグインがバックエンドサービスまたはデータベースに接続できませんでした。 |
QGeoServiceProvider::LoaderError | 5 | プラグインの読み込みに失敗しました。 |
enum QGeoServiceProvider::GeocodingFeature
flags QGeoServiceProvider::GeocodingFeatures
ジオサービスプロバイダーがサポートするジオコーディング機能について説明します。
| 定数 | 値 | 説明 |
|---|---|---|
QGeoServiceProvider::NoGeocodingFeatures | 0 | ジオコーディング機能はサポートされていません。 |
QGeoServiceProvider::OnlineGeocodingFeature | (1<<0) | オンライン・ジオコーディングがサポートされています。 |
QGeoServiceProvider::OfflineGeocodingFeature | (1<<1) | オフラインのジオコーディングがサポートされています。 |
QGeoServiceProvider::ReverseGeocodingFeature | (1<<2) | リバースジオコーディングがサポートされています。 |
QGeoServiceProvider::LocalizedGeocodingFeature | (1<<3) | ローカライズされた住所を含むジオコーディング結果の返却に対応しています。 |
QGeoServiceProvider::AnyGeocodingFeatures | ~(0) | いずれかのジオコーディング機能を提供するジオサービスプロバイダーと一致します。 |
GeocodingFeatures 型は、QFlags<GeocodingFeature> の typedef です。これは、GeocodingFeature 値の OR 組み合わせを格納します。
enum QGeoServiceProvider::MappingFeature
flags QGeoServiceProvider::MappingFeatures
ジオサービスプロバイダーがサポートするマッピング機能について説明します。
| 定数 | 値 | 説明 |
|---|---|---|
QGeoServiceProvider::NoMappingFeatures | 0 | マッピング機能はサポートされていません。 |
QGeoServiceProvider::OnlineMappingFeature | (1<<0) | オンライン マッピングがサポートされています。 |
QGeoServiceProvider::OfflineMappingFeature | (1<<1) | オフラインのマッピングがサポートされています。 |
QGeoServiceProvider::LocalizedMappingFeature | (1<<2) | ローカライズされた地図データの返却に対応しています。 |
QGeoServiceProvider::AnyMappingFeatures | ~(0) | 任意のマッピング機能を提供するジオサービスプロバイダーに一致します。 |
MappingFeatures 型は、QFlags<MappingFeature> の typedef です。MappingFeature 値の OR 組み合わせを格納します。
enum QGeoServiceProvider::NavigationFeature
flags QGeoServiceProvider::NavigationFeatures
ジオサービスプロバイダーがサポートするナビゲーション機能について説明します。
| 定数 | 値 | 説明 |
|---|---|---|
QGeoServiceProvider::NoNavigationFeatures | 0 | ナビゲーション機能はサポートされていません。 |
QGeoServiceProvider::OnlineNavigationFeature | (1<<0) | オンラインナビゲーションがサポートされています。 |
QGeoServiceProvider::OfflineNavigationFeature | (1<<1) | オフラインナビゲーションがサポートされています。 |
QGeoServiceProvider::AnyNavigationFeatures | ~(0) | いずれかのナビゲーション機能を提供する地理情報サービスプロバイダに一致します。 |
NavigationFeatures 型は、QFlags<NavigationFeature> の typedef です。NavigationFeature 値の OR 組み合わせを格納します。
enum QGeoServiceProvider::PlacesFeature
flags QGeoServiceProvider::PlacesFeatures
ジオサービスプロバイダーがサポートする場所の特徴について説明します。
| 定数 | 値 | 説明 |
|---|---|---|
QGeoServiceProvider::NoPlacesFeatures | 0 | 場所フィーチャはサポートされていません。 |
QGeoServiceProvider::OnlinePlacesFeature | (1<<0) | オンラインの場所がサポートされています。 |
QGeoServiceProvider::OfflinePlacesFeature | (1<<1) | オフラインの場所がサポートされています。 |
QGeoServiceProvider::SavePlaceFeature | (1<<2) | 場所の保存がサポートされています。 |
QGeoServiceProvider::RemovePlaceFeature | (1<<3) | 場所の削除に対応しています。 |
QGeoServiceProvider::SaveCategoryFeature | (1<<4) | カテゴリの保存に対応しています。 |
QGeoServiceProvider::RemoveCategoryFeature | (1<<5) | カテゴリの削除に対応しています。 |
QGeoServiceProvider::PlaceRecommendationsFeature | (1<<6) | 別の場所に似たおすすめの場所を検索する機能がサポートされています。 |
QGeoServiceProvider::SearchSuggestionsFeature | (1<<7) | 検索候補機能がサポートされています。 |
QGeoServiceProvider::LocalizedPlacesFeature | (1<<8) | ローカライズされたスポットデータの返却に対応しています。 |
QGeoServiceProvider::NotificationsFeature | (1<<9) | 場所やカテゴリの変更に関する通知に対応しています。 |
QGeoServiceProvider::PlaceMatchingFeature | (1<<10) | 2つの異なる地理情報サービスプロバイダからの場所の照合に対応しています。 |
QGeoServiceProvider::AnyPlacesFeatures | ~(0) | 場所に関する機能を提供するジオサービスプロバイダーと照合します。 |
PlacesFeatures 型は、QFlags<PlacesFeature> の typedef です。PlacesFeature 値の OR 組み合わせを格納します。
enum QGeoServiceProvider::RoutingFeature
flags QGeoServiceProvider::RoutingFeatures
ジオサービスプロバイダーがサポートするルーティング機能について説明します。
| 定数 | 値 | 説明 |
|---|---|---|
QGeoServiceProvider::NoRoutingFeatures | 0 | ルーティング機能はサポートされていません。 |
QGeoServiceProvider::OnlineRoutingFeature | (1<<0) | オンライン ルーティングがサポートされています。 |
QGeoServiceProvider::OfflineRoutingFeature | (1<<1) | オフライン・ルーティングがサポートされています。 |
QGeoServiceProvider::LocalizedRoutingFeature | (1<<2) | ローカライズされた住所および案内付きのルートの返却に対応しています。 |
QGeoServiceProvider::RouteUpdatesFeature | (1<<3) | 現在の位置情報に基づいて既存のルートを更新する機能をサポートしています。 |
QGeoServiceProvider::AlternativeRoutesFeature | (1<<4) | 代替ルートの返却に対応しています。 |
QGeoServiceProvider::ExcludeAreasRoutingFeature | (1<<5) | 返されるルートが通過してはならないエリアを指定できます。 |
QGeoServiceProvider::AnyRoutingFeatures | ~(0) | ルート案内機能を提供するジオサービスプロバイダと一致します。 |
RoutingFeatures 型は、QFlags<RoutingFeature> の typedef です。これは、RoutingFeature 値の OR 組み合わせを格納します。
メンバ関数のドキュメント
QGeoServiceProvider::QGeoServiceProvider(const QString &providerName, const QVariantMap ¶meters = QVariantMap(), bool allowExperimental = false)
指定されたparameters を使用して、バックエンド名がproviderName であるQGeoServiceProviderを構築します。
複数のプラグインでproviderName が同じ場合、providerVersion()の値が最も大きいプラグインが使用されます。
allowExperimental が true の場合、実験的とマークされたプラグインが使用されることがあります。デフォルトでは、実験的なプラグインは考慮されません。
providerName に一致するプラグインをロードできなかった場合、error() およびerrorString() がその理由に関する詳細情報を提供します。
注: parameters のリストが読み込まれるプロバイダープラグインに渡される前に 、無関係なプロバイダープラグインとの間でプラグイン固有のパラメータが共有されるのを防ぐため、リストはフィルタリングされます。プラグイン固有のパラメータキーには、プロバイダー名をプレフィックスとして付ける必要があります(例:here.app_id )。
[virtual noexcept] QGeoServiceProvider::~QGeoServiceProvider()
サービスプロバイダオブジェクトを破棄します。
[static] QStringList QGeoServiceProvider::availableServiceProviders()
QGeoServiceProvider のコンストラクタで使用するための、利用可能なサービスプロバイダの名前の一覧を返します。
QGeoServiceProvider::Error QGeoServiceProvider::error() const
このクラスによって実行された直近の操作中に発生したエラーを説明するエラーコードを返します。
QString QGeoServiceProvider::errorString() const
このクラスによって実行された直近の操作中に発生したエラーを説明する文字列を返します。
QGeoServiceProvider::Error QGeoServiceProvider::geocodingError() const
ジオコーディングマネージャーの作成を最後に試みた際に発生したエラーを説明するエラーコードを返します。
QString QGeoServiceProvider::geocodingErrorString() const
ジオコーディングマネージャーの作成を最後に試みた際に発生したエラーを説明する文字列を返します。
QGeoServiceProvider::GeocodingFeatures QGeoServiceProvider::geocodingFeatures() const
そのジオサービスプロバイダーがサポートしているジオコーディング機能を返します。
QGeoCodingManager *QGeoServiceProvider::geocodingManager() const
サービスプロバイダーが提供しているQGeoCodingManager を返します。
サービスプロバイダがジオコーディングサービスを提供していない場合、この関数はnullptr を返します。
この関数は、初めて呼び出された際にQGeoCodingManager インスタンスの生成を試みます。生成に成功した場合、QGeoCodingManager はキャッシュされます。そうでない場合、この関数が呼び出されるたびに、生成に成功するまでQGeoCodingManager インスタンスの生成が試みられます。
QGeoCodingManager はこのQGeoServiceProvider が所有しており、個別に削除してはなりません。ユーザーは、QGeoServiceProvider を削除すると、このメソッドによって返されたポインタが無効になることを前提としてください。
この関数が呼び出された後、error() およびerrorString() は、QGeoCodingManager の生成中に発生したエラーを報告します。
QGeoServiceProvider::Error QGeoServiceProvider::mappingError() const
マッピングマネージャーの作成を最後に試みた際に発生したエラーを説明するエラーコードを返します。
QString QGeoServiceProvider::mappingErrorString() const
マッピングマネージャーの作成を最後に試みた際に発生したエラーを説明する文字列を返します。
QGeoServiceProvider::MappingFeatures QGeoServiceProvider::mappingFeatures() const
そのジオサービスプロバイダーがサポートしているマッピング機能を返します。
QGeoServiceProvider::Error QGeoServiceProvider::navigationError() const
ナビゲーションマネージャーの作成を最後に試みた際に発生したエラーを説明するエラーコードを返します。
QString QGeoServiceProvider::navigationErrorString() const
ナビゲーションマネージャーの作成を最後に試みた際に発生したエラーを説明する文字列を返します。
[since QtLocation 5.11] QGeoServiceProvider::NavigationFeatures QGeoServiceProvider::navigationFeatures() const
ジオサービスプロバイダがサポートしているナビゲーション機能を返します。
この関数は、QtLocation 5.11で導入されました。
QPlaceManager *QGeoServiceProvider::placeManager() const
サービスプロバイダによって提供されたQPlaceManager を返します。
この関数は、初めて呼び出された際にQPlaceManager インスタンスの生成を試みます。生成に成功した場合、QPlaceManager はキャッシュされます。そうでない場合、この関数が呼び出されるたびに、生成に成功するまでQPlace インスタンスの生成が試みられます。
QGeoPlaceManagerはこのQGeoServiceProvider によって管理されており、個別に削除してはなりません。ユーザーは、QGeoServiceProvider を削除すると、このメソッドによって返されたポインタが無効になることを前提としてください。
この関数が呼び出された後、error() およびerrorString() は、QPlaceManager の生成中に発生したエラーを報告します。
QGeoServiceProvider::Error QGeoServiceProvider::placesError() const
プレイスマネージャーの作成を最後に試みた際に発生したエラーを説明するエラーコードを返します。
QString QGeoServiceProvider::placesErrorString() const
プレイスマネージャーの作成を最後に試みた際に発生したエラーを説明する文字列を返します。
QGeoServiceProvider::PlacesFeatures QGeoServiceProvider::placesFeatures() const
そのジオサービスプロバイダーがサポートしている場所フィーチャを返します。
QGeoServiceProvider::Error QGeoServiceProvider::routingError() const
ルーティングマネージャーの作成を最後に試みた際に発生したエラーを説明するエラーコードを返します。
QString QGeoServiceProvider::routingErrorString() const
ルーティングマネージャーの作成を最後に試みた際に発生したエラーを説明する文字列を返します。
QGeoServiceProvider::RoutingFeatures QGeoServiceProvider::routingFeatures() const
その地理空間サービスプロバイダーがサポートしているルーティング機能を返します。
QGeoRoutingManager *QGeoServiceProvider::routingManager() const
サービスプロバイダーが提供するQGeoRoutingManager を返します。
サービスプロバイダが地理的ルーティングサービスを提供していない場合、この関数はnullptr を返します。
この関数は、初めて呼び出された際にQGeoRoutingManager インスタンスの生成を試みます。生成に成功した場合、QGeoRoutingManager はキャッシュされます。そうでない場合、この関数が呼び出されるたびに、生成に成功するまでQGeoRoutingManager インスタンスの生成が試みられます。
QGeoRoutingManager はこのQGeoServiceProvider が所有しており、個別に削除してはなりません。ユーザーは、QGeoServiceProvider を削除すると、このメソッドによって返されたポインタが無効になることを想定しておく必要があります。
この関数が呼び出された後、error() およびerrorString() は、QGeoRoutingManager の構築中に発生したエラーを報告します。
void QGeoServiceProvider::setAllowExperimental(bool allow)
このサービスプロバイダに対してallow の正しいプラグインライブラリを検索する際、実験的なプラグインを考慮するかどうかを設定します。
重要:このメソッドを呼び出すと、このサービスプロバイダインスタンスが保持している既存のマネージャーはすべて破棄されます。このメソッドの呼び出し後に、以前に取得したポインタを使用しようとしないよう注意してください。
void QGeoServiceProvider::setLocale(const QLocale &locale)
このサービスプロバイダが使用するロケールを `locale` に設定します。関連する機能(LocalizedMappingFeature など)が有効になっている場合、これにより、プロバイダのデータにおける言語、単位、およびその他のロケール固有の属性が変更されます。
void QGeoServiceProvider::setParameters(const QVariantMap ¶meters)
このサービスプロバイダ用の個々のマネージャークラスを構築するために使用されるパラメータを、parameters に設定します。
parameters のリストが、読み込まれる予定のサービスプロバイダに渡される前に、そのリストはフィルタリングされ、無関係なサービスプロバイダとの間でプロバイダ固有のパラメータが共有されるのを防ぎます。プロバイダ固有のパラメータキーには、プロバイダ名をプレフィックスとして付ける必要があります(例:here.app_id )。
重要:これにより、このサービスプロバイダインスタンスが保持している既存のマネージャーはすべて破棄されます。このメソッドを呼び出した後は、以前に取得したポインタを使用しようとしないよう注意してください。
© 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.