このページでは

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) 適切なリクエストを作成する
QPlaceSearchRequest searchRequest;
searchRequest.setSearchTerm("ice cream");
searchRequest.setSearchArea(QGeoCircle(QGeoCoordinate(12.34, 56.78)));

//2) マネージャーを使用してリクエストを開始し、応答オブジェクトを取得する
QPlaceSearchReply*searchReply= manager->search(searchRequest);

//3) レスポンスオブジェクトを、操作完了時に呼び出されるスロットに接続する
connect(searchReply, &QPlaceSearchReply::finished,
        this, &RequestHandler::processSearchReply);
    ...
    ...
//4) スロットで操作の結果を適切に処理する
voidprocessSearchReply() {
    if(searchReply->error()==QPlaceReply::NoError) {
        for(constQPlaceSearchResult&result: searchReply->results()) {
            if(result.type()==QPlaceSearchResult::PlaceResult)
                qDebug() << "Title:" << result.title();
        }
    }

//5) 処理が完了したら、replyオブジェクトを破棄します。
    searchReply->deleteLater();
    searchReply=nullptr;
}

QPlaceManager の使用方法を示す例の一覧については、「一般的な操作」を参照してください。

カテゴリ: 初期化

アプリケーションの起動中に、カテゴリを設定するために `initializeCategories()` 関数を呼び出す必要があります。カテゴリを初期化することで、以下の関数を使用できるようになります:

カテゴリを更新または再読み込みする必要がある場合は、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 を保存します。

使用例については、「Saving a place cpp」を参照してください。

request で指定されたパラメータに基づいて場所を検索します。

使用例については、「Discovery/Search」を参照してください。

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()も参照してください 。

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