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) Make an appropriate request QPlaceSearchRequest searchRequest; searchRequest.setSearchTerm("ice cream"); searchRequest.setSearchArea(QGeoCircle(QGeoCoordinate(12.34, 56.78))); //2) Use the manager to initiate a request and retrieve a reply object QPlaceSearchReply * searchReply = manager->search(searchRequest); //3) Connect the reply object to a slot which is invoked upon operation completion connect(searchReply, &QPlaceSearchReply::finished, this, &RequestHandler::processSearchReply); ... ... //4) Have the slot appropriately process the results of the operation void processSearchReply() { if (searchReply->error() == QPlaceReply::NoError) { for (const QPlaceSearchResult &result : searchReply->results()) { if (result.type() == QPlaceSearchResult::PlaceResult) qDebug() << "Title:" << result.title(); } } //5) Discard the rely object when done. 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)
マネージャの優先ロケール一覧を1つのlocale に設定する便利な関数です。
void QPlaceManager::setLocales(const QList<QLocale> &locales)
優先ロケールのリストを設定するlocales 。
locales()も参照してください 。
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。