QPlaceManager Class
QPlaceManagerクラスは、クライアントが特定のバックエンドに保存されたプレイスメントにアクセスするためのインターフェイスを提供します。詳細...
Header: | #include <QPlaceManager> |
qmake: | QT += location |
Inherits: | QObject |
パブリック関数
virtual | ~QPlaceManager() |
QPlaceCategory | category(const QString &categoryId) const |
QList<QPlaceCategory> | childCategories(const QString &parentId = QString()) const |
QStringList | childCategoryIds(const QString &parentId = QString()) const |
QPlace | compatiblePlace(const QPlace &original) const |
QPlaceContentReply * | getPlaceContent(const QPlaceContentRequest &request) const |
QPlaceDetailsReply * | getPlaceDetails(const QString &placeId) const |
QPlaceReply * | initializeCategories() |
QList<QLocale> | locales() const |
QString | managerName() const |
int | managerVersion() const |
QPlaceMatchReply * | matchingPlaces(const QPlaceMatchRequest &request) const |
QString | parentCategoryId(const QString &categoryId) const |
QPlaceIdReply * | removeCategory(const QString &categoryId) |
QPlaceIdReply * | removePlace(const QString &placeId) |
QPlaceIdReply * | saveCategory(const QPlaceCategory &category, const QString &parentId = QString()) |
QPlaceIdReply * | savePlace(const QPlace &place) |
QPlaceSearchReply * | search(const QPlaceSearchRequest &request) const |
QPlaceSearchSuggestionReply * | searchSuggestions(const QPlaceSearchRequest &request) const |
void | setLocale(const QLocale &locale) |
void | setLocales(const QList<QLocale> &locales) |
シグナル
void | categoryAdded(const QPlaceCategory &category, const QString &parentId) |
void | categoryRemoved(const QString &categoryId, const QString &parentId) |
void | categoryUpdated(const QPlaceCategory &category, const QString &parentId) |
void | dataChanged() |
void | errorOccurred(QPlaceReply *reply, QPlaceReply::Error error, const QString &errorString = QString()) |
void | finished(QPlaceReply *reply) |
void | placeAdded(const QString &placeId) |
void | placeRemoved(const QString &placeId) |
void | placeUpdated(const QString &placeId) |
詳細説明
次の表は、QPlaceManager が提供する機能の概要です。
機能 | 説明 |
---|---|
場所の検索 | 検索語や検索エリアなどのパラメータを使用して、関連する場所をユーザーに返すことができます。 |
カテゴリー | 場所は異なるカテゴリーに分類することができます。管理者はこれらのカテゴリーへのアクセスをサポートします。 |
検索語の提案 | 部分的に完全な検索用語が与えられた場合、潜在的な検索用語のリストを与えることができる。 |
推薦 | 既存のプレイスがある場合、類似のおすすめプレイスのセットをユーザーに提案することができます。 |
リッチコンテンツ | 画像、レビューなどのリッチコンテンツは、ページ形式で検索することができます。 |
場所やカテゴリーの管理 | 場所やカテゴリの保存や削除が可能です。その際に通知を出すことも可能です。 |
ローカライゼーション | 異なる言語で場所データを返すために、異なるロケールを指定することができます。 |
QPlaceManagerインスタンスの取得
QPlaceManagerの作成は、QGeoServiceProvider 。 マネージャの作成方法の例については、マネージャの初期化を参照してください。
非同期インターフェース
QPlaceManagerクラスは、プレイス情報を含むデータストアの抽象化を提供します。QPlaceManagerによって提供される関数は、主に非同期で、リクエストとリプライのモデルに従います。通常、様々なパラメータのセットからなるリクエストがマネージャに与えられ、リプライオブジェクトが生成されます。リプライ・オブジェクトはリクエストが完了したことを通知するシグナルを持ち、完了すると、リプライにはリクエストの結果と、発生したエラーがあればそれも含まれます。
非同期リクエストは一般的に次のように処理される:
//1)適切なリクエストを行うQPlaceSearchRequestsearchRequest; searchRequest.setSearchTerm("ice cream"); searchRequest.setSearchArea(QGeoCircle(QGeoCoordinate(12.34, 56.78));//2) マネージャを使ってリクエストを開始し、リプライオブジェクトを取得する。QPlaceSearchReply* searchReply= manager->search(searchRequest);//3) 応答オブジェクトを、操作完了時に呼び出されるスロットに接続するconnect(searchReply, &Request,::finished,this,&Request);//4) リクエストを開始し、応答オブジェクトを取得するためにmanagerを使うQPlaceSearchReply::finished, this, &RequestHandler::processSearchReply); ... ...//4) スロットに操作の結果を適切に処理させるvoidprocessSearchReply() {if(searchReply->error()== ==::NoError) {if(searchReply->error()==::NoError) {if(searchReply->error()==::NoError) QPlaceReply::NoError) {for(constQPlaceSearchResult&result: searchReply->results()) {if(result.type()==::PlaceResult) {if(searchReply->error()==::NoError) { for (const.QPlaceSearchResult::PlaceResult) qDebug() << "Title:" << result.title(); } }//5)終了したらrelyオブジェクトを破棄する。 searchReply->deleteLater(); searchReply=nullptr; }
QPlaceManger の使用方法を示す例の一覧は、共通操作を参照してください。
カテゴリの初期化
アプリケーションの起動中に、initializeCategories ()関数を呼び出して、カテゴリーをセットアップする必要があります。カテゴリーを初期化することで、以下の関数を使用できるようになります:
- QPlaceManager::childCategories()
- QPlaceManager::category()
- QPlaceManager::parentCategoryId()
- QPlaceManager::childCategoryIds();
カテゴリーをリフレッシュまたはリロードする必要がある場合は、initializeCategories() 関数を再度呼び出すことができます。
メンバー関数ドキュメント
[virtual noexcept]
QPlaceManager::~QPlaceManager()
マネージャーをデストラクトする。このデストラクタはQGeoServiceProvider によって内部的に使用され、アプリケーション・コードで呼び出される必要はありません。
QPlaceCategory QPlaceManager::category(const QString &categoryId) const
与えられたcategoryId に対応するカテゴリを返します。
[signal]
void QPlaceManager::categoryAdded(const QPlaceCategory &category, const QString &parentId)
このシグナルは、category がマネージャのデータストアに追加された場合に発行される。category の親はparentId で指定されます。
このシグナルは QPlaceManager::NotificationsFeature をサポートするマネージャによってのみ発行されます。
dataChanged()も参照してください 。
[signal]
void QPlaceManager::categoryRemoved(const QString &categoryId, const QString &parentId)
このシグナルは、categoryId に対応するカテゴリがマネージャのデータストアから削除されたときに発行されます。削除されたカテゴリの親はparentId で指定されます。
このシグナルは QPlaceManager::NotificationsFeature をサポートするマネージャによってのみ発行されます。
dataChanged()も参照してください 。
[signal]
void QPlaceManager::categoryUpdated(const QPlaceCategory &category, const QString &parentId)
このシグナルは、マネージャのデータストアでcategory が変更された場合に発行される。変更されたカテゴリの親はparentId で指定されます。
このシグナルは QPlaceManager::NotificationsFeature をサポートするマネージャによってのみ発行されます。
dataChanged()も参照してください 。
QList<QPlaceCategory> QPlaceManager::childCategories(const QString &parentId = QString()) const
parentId に対応するカテゴリの子であるカテゴリのリストを返します。parentId が空の場合、すべてのトップレベルカテゴリが返されます。
QStringList QPlaceManager::childCategoryIds(const QString &parentId = QString()) const
parentId に対応するカテゴリの子カテゴリ識別子を返します。parentId が空の場合、すべてのトップレベルのカテゴリ識別子が返されます。
QPlace QPlaceManager::compatiblePlace(const QPlace &original) const
このマネージャに保存するのに適した、original プレースの刈り込みまたは修正バージョンを返します。
このマネージャでサポートされる場所の詳細のみが、変更されたバージョンに存在します。プレースIDのようなマネージャ固有のデータは、original からはコピーされません。
[signal]
void QPlaceManager::dataChanged()
このシグナルは、その基礎となるデータストアに大規模な変更があり、クライアントがすべてのデータをリロードする必要があるほど急激な変更であるとマネージャが判断した場合に、マネージャによって発行されます。
このシグナルが発行されると、関連する変更に対して他のシグナルは発行されません。
このシグナルは、QPlaceManager::NotificationsFeature をサポートするマネージャによってのみ発行されます。
[signal]
void QPlaceManager::errorOccurred(QPlaceReply *reply, QPlaceReply::Error error, const QString &errorString = QString())
このシグナルは、reply の処理でエラーが検出されたときに発せられる。QPlaceManager::finished() シグナルは、おそらくその後に続く。
エラーはエラーコードerror で示される。errorString が空でない場合は、エンド・ユーザー向けではなく、開発者向けのエラーのテキス ト説明が含まれる。
このシグナルとQPlaceReply::errorOccurred() は同時に発生する。
注意: このシグナルに接続されたスロット内のreply オブジェクトを削除しないでください。代わりにdeleteLater() を使用してください。
[signal]
void QPlaceManager::finished(QPlaceReply *reply)
このシグナルは、reply の処理が終了したときに発せられる。
reply->error() がQPlaceReply::NoError と等しい場合、処理は正常に終了している。
このシグナルとQPlaceReply::finished() は同時に発せられる。
注意: このシグナルに接続されているスロットのreply オブジェクトを削除しないでください。代わりにdeleteLater() を使用してください。
QPlaceContentReply *QPlaceManager::getPlaceContent(const QPlaceContentRequest &request) const
request で指定されたパラメータに従って、ある場所のコンテンツを取得する。
使用例はリッチコンテンツの取得を参照。
QPlaceDetailsReply *QPlaceManager::getPlaceDetails(const QString &placeId) const
与えられたplaceId に対応する場所の詳細を取得する。
使用例については、場所の詳細の取得を参照してください。
QPlaceReply *QPlaceManager::initializeCategories()
マネージャーのカテゴリーを初期化します。
使用例については、カテゴリを使用するを参照してください。
QList<QLocale> QPlaceManager::locales() const
優先ロケールのリストを返します。ロケールは、場所とカテゴリの詳細がどの言語で返されるべきかの、マネージャへのヒントとして使用されます。
最初に指定されたロケールに対応できない場合、マネージャは次のロケールにフォールバックします。マネージャのバックエンドによっては、厳密に定義されたロケールのセットをサポートしていない場合があります。任意の例として、フランスではフランス語と英語のローカライズがある一方で、アメリカでは英語のローカライズしかない場合があります。この例では、サポートされるロケールのセットは検索場所に依存します。
もしマネージャが希望するロケールに対応できない場合、マネージャはバックエンド固有のサポート言語を使用することになります。
ロケールのサポートはプロバイダによって異なります。ロケールをサポートしているプロバイダでは、デフォルトでグローバルデフォルトロケールがマネージャの唯一のロケールとして設定されます。
ロケールをサポートしていないマネージャでは、ロケール一覧は常に空になります。
setLocales()も参照してください 。
QString QPlaceManager::managerName() const
マネージャーの名前を返す
int QPlaceManager::managerVersion() const
マネージャのバージョンを返します。
QPlaceMatchReply *QPlaceManager::matchingPlaces(const QPlaceMatchRequest &request) const
request 。 リクエストで指定された場所は、別のマネージャーから来たものである。
QString QPlaceManager::parentCategoryId(const QString &categoryId) const
categoryId に対応するカテゴリーの親カテゴリー識別子を返す。
[signal]
void QPlaceManager::placeAdded(const QString &placeId)
このシグナルは、プレイスがマネージャエンジンのデータストアに追加された場合に発行されます。追加された特定の場所はplaceId で指定されます。
このシグナルは QPlaceManager::NotificationsFeature をサポートするマネージャによってのみ発行されます。
dataChanged()も参照してください 。
[signal]
void QPlaceManager::placeRemoved(const QString &placeId)
このシグナルは、プレースがマネージャのデータストアから削除された場合に発行される。削除された特定の場所はplaceId で指定されます。
このシグナルは QPlaceManager::NotificationsFeature をサポートするマネージャによってのみ発行されます。
dataChanged()も参照してください 。
[signal]
void QPlaceManager::placeUpdated(const QString &placeId)
このシグナルは、マネージャのデータストアでプレイスが変更された場合に発行される。変更された特定の場所はplaceId で指定されます。
このシグナルは、QPlaceManager::NotificationsFeature をサポートするマネージャによってのみ発行されます。
dataChanged()も参照してください 。
QPlaceIdReply *QPlaceManager::removeCategory(const QString &categoryId)
categoryId に対応するカテゴリーをマネージャーから削除します。
使用例については、カテゴリの削除を参照してください。
QPlaceIdReply *QPlaceManager::removePlace(const QString &placeId)
placeId に対応する場所をマネージャーから削除する。
使用例については、場所の削除 cppを参照してください。
QPlaceIdReply *QPlaceManager::saveCategory(const QPlaceCategory &category, const QString &parentId = QString())
parentId で指定されたカテゴリの子カテゴリであるcategory を保存します。空のparentId は、category がトップレベルのカテゴリーとして保存されることを意味します。
使用例については、カテゴリの保存を参照してください。
QPlaceIdReply *QPlaceManager::savePlace(const QPlace &place)
指定したplace を保存する。
使用例については、場所の保存 cppを参照してください。
QPlaceSearchReply *QPlaceManager::search(const QPlaceSearchRequest &request) const
request で指定されたパラメーターに従って場所を検索する。
使用例についてはディスカバリー/サーチを参照のこと。
QPlaceSearchSuggestionReply *QPlaceManager::searchSuggestions(const QPlaceSearchRequest &request) const
request で指定されたパラメータに従って、検索語候補のセットを要求する。request 、関連する結果を絞り込むための検索エリアなどの他のデータとともに、不完全な検索語を保持することができる。
使用例については検索候補を参照のこと。
void QPlaceManager::setLocale(const QLocale &locale)
マネージャーの優先ロケール一覧を単一のlocale に設定する便利な関数です。
void QPlaceManager::setLocales(const QList<QLocale> &locales)
優先リストの設定locales 。
locales()も参照のこと 。
© 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.