Place QML Type
Place(場所)タイプは、関心のある位置である場所を表す。詳細...
| Import Statement: | import QtLocation 6.11 |
| Since: | QtLocation 5.5 |
プロパティ
- attribution : string
- categories : list<Category>
- contactDetails : ContactDetails
- detailsFetched : bool
- editorialModel : EditorialModel
- extendedAttributes : ExtendedAttributes
- favorite : Place
- icon : Icon
- imageModel : ImageModel
- location : QtPositioning::Location
- name : string
- placeId : string
- plugin : Plugin
- primaryEmail : string
- primaryFax : string
- primaryPhone : string
- primaryWebsite : string
- ratings : Ratings
- reviewModel : ReviewModel
- status : enumeration
- supplier : Supplier
- visibility : enumeration
方法
- void copyFrom(Place original)
- string errorString()
- void getDetails()
- void initializeFavorite(Plugin destinationPlugin)
- void remove()
- void save()
詳細な説明
Place型は物理的な位置と、その位置を記述する付加的なメタデータを表す。Location 、Address 、および座標型とは対照的で、場所の位置を記述するために使用される。場所の基本特性はname とlocation である。
場所オブジェクトは通常、検索モデルから取得され、一般に基本プロパティのみが設定される。detailsFetched getDetails プロパティは、Plugin からさらにプロパティ値を取得する必要があるかどうかをテストするために使用することができる。フェッチ操作の進行状況はstatus プロパティで監視することができ、詳細がフェッチされているときは Place.Fetching に設定されます。
Place型は、場所に関する情報を保持する多くのプロパティを持っています。場所への連絡方法の詳細は、contactDetails プロパティから入手できます。プライマリphone 、fax 、email 、website を取得するための便利なプロパティもあります。
各場所には、0個以上のcategories が割り当てられる。カ テ ゴ リ は通常、 レ ス ト ラ ン やホ テ ル な ど 、 特定の種類の場所を検索す る と き に用い ら れます。場所によっては、ratings オブジェクトがあり、場所の質を示す。
場所のメタデータは、supplier によって提供される。 は、場所の詳細が表示されるときに、attribution メッセージをユーザーに表示することを要求するかもしれない。
プレイスは、マップ上でプレイスを表現したり、ビューでデリゲートを装飾するために使用できる、関連するicon 。
場所は、それらに関連する追加のリッチコンテンツを持つことができます。現在サポートされているリッチコンテンツには、編集者の説明、レビュー、画像が含まれます。これらはコンテンツを取得するための一連のモデルとして公開されています。場所の編集説明はeditorialModel プロパティから利用できます。その場所のレビューは、reviewModel プロパティから入手できます。場所の写真のギャラリーは、imageModel プロパティを使ってアクセスできます。
場所は、正式なAPIでカバーされていない追加の属性を持つかもしれません。extendedAttributes 。利用可能な拡張属性のタイプは、各Plugin に固有です。
plugin save ()、 ()、 ()を呼び出す前に、 プロパティが設定されていなければなりません。 、 、 は、 プロパティが設定されて初めて有効になります。remove getDetails plugin reviewModel imageModel editorialModel plugin
場所の保存
Plugin がサポートしていれば、「場所」タイプを使って場所を保存することができます。まず、新しい場所を作成し、そのプロパティを設定します:
Place { id: myPlace plugin: myPlugin name: "Brisbane Technology Park" location: Location { address: Address { street: "53 Brandl Street" city: "Eight Mile Plains" postalCode: "4113" country: "Australia" } coordinate { latitude: -27.579646 longitude: 153.100308 } } visibility: Place.PrivateVisibility }
そして、save ()メソッドを呼び出します:
myPlace.save();
status プロパティはPlace.Savingに変わり、保存が成功すればPlace.Readyに、エラーが発生すればPlace.Errorに変わります。
placeId プロパティが設定されていれば、バックエンドは既存の場所を更新し、そうでなければ新しい場所を作成します。成功すると、placeId プロパティが新しく保存された場所の識別子で更新されます。
注意事項
Places API は現在、core の詳細のみを保存するように設計されています。画像やレビューのようなリッチコンテンツや、サプライヤーや評価のような詳細を保存することはサポートされていません。通常、管理者は保存時にこれらのフィールドを無視します。
Places APIは、以下のコアな詳細の保存のみをサポートしています:
- 名前
- 場所ID
- 場所
- 連絡先の詳細
- アイコン
- カテゴリー(場所を説明するタグのような名前)
- 可視性の範囲
プロバイダがこれらのサブセットしかサポートしていない可能性もあります。詳しくはプラグインのドキュメントをご覧ください。
レーティング、拡張属性、画像、レビュー、社説、サプライヤーなどのプロパティの保存は、Places APIではサポートされていません。
プラグイン間の保存
Placesをプラグイン間で保存する場合、いくつか注意すべき点があります。id、カテゴリ、アイコンのようないくつかのフィールドはプラグイン固有のものです。例えば、あるマネージャのカテゴリは別のマネージャでは認識されないかもしれません。そのため、あるプラグインから別のプラグインに直接プレースメントを保存することはできません。
一般的に、プラグインをまたいだ保存は、Favoritesセクションで説明したように、favorites 。しかし、新しい場所を作成し、その(保存先の)プラグインを設定し、copyFrom ()メソッドを使って元の場所の詳細をコピーするという方法もあります。copyFrom() を使用すると、コピー先のプラグインでサポートされているデータのみがコピーされ、場所の識別子などのプラグイン固有のデータはコピーされません。コピーが完了すると、その場所は保存に適した状態になります。
次のスニペットは、copyFrom メソッドを使って場所を別のプラグインに保存する例です:
var place = Qt.createQmlObject('import QtLocation; Place { }', parent); place.plugin = destinationPlugin; place.copyFrom(originalPlace); place.save();
場所の削除
場所を削除するには、有効なplaceId プロパティを持つ Place オブジェクトが存在することを確認し、そのremove() メソッドを呼び出します。status プロパティは、Place.Removing に変更され、保存に成功した場合は Place.Ready に、エラーが発生した場合は Place.Error に変更されます。
お気に入り
Places APIはお気に入りの概念をサポートしています。お気に入りは一般的に2つのプラグインを使って実装されます。1つ目のプラグインは通常、場所の読み込み専用のソース(オリジンプラグイン)で、2つ目の読み込み/書き込みプラグイン(デスティネーションプラグイン)は、オリジンからの場所をお気に入りとして保存するために使用されます。
各プレイスは、デスティネーションプラグインから対応するプレイスを含むことを意図したお気に入りプロパティを持っています(プレイス自体はオリジンプラグインから取得されます)。元の場所とお気に入りのインスタンスの両方が利用できるため、開発者はユーザーに表示するプロパティを選択することができます。例えば、お気に入りには元の名前ではなく、変更された名前を表示させることができます。
Text { text: place.favorite ? place.favorite.name : place.name }
以下に、新しいお気に入りのインスタンスを保存する方法を示します。お気に入りのインスタンスを作成/初期化し、保存します。
place.initializeFavorite(destinationPlugin); //if necessary customizations to the favorite can be made here. //... place.favorite.save();
お気に入りの削除
place.favorite.remove(); ... //check successful removal of the favorite by monitoring its status. //once that is done we can assign null to the favorite place.favorite = null;
PlaceSearchModel には、favoritesPluginプロパティがあります。favoritesPluginプロパティが設定されている場合、検索で見つかったお気に入りの場所がfavoritesPluginと照合され、対応するお気に入りの場所があるかどうかが確認される。お気に入りがあれば、その場所の favorite プロパティが設定され、なければ null のままです。
PlaceSearchModelも参照してください 。
プロパティの説明
attribution : string
このプロパティは、場所のリッチテキスト属性文字列を保持する。プロバイダによっては、プレイスが表示されるたびに属性がユーザに表示されることを要求する場合があります。このプロパティの内容が空でなければ、ユーザに表示されるべきです。
categories : list<Category> [read-only]
このプロパティは、このプレイスが所属するカテゴリのリストを保持する。プレイスに割り当てることができるカテゴリーは、plugin 。
contactDetails : ContactDetails [read-only]
このプロパティは、この場所の連絡先情報、例えば電話番号やウェブサイトの URL を保持する。このプロパティは、contactDetail オブジェクトのマップです。
detailsFetched : bool [read-only]
このプロパティは、場所の詳細がフェッチされたかどうかを示す。このプロパティが False の場合、場所の詳細はまだフェッチされていません。フェッチは、getDetails() メソッドを呼び出すことで実行できます。
getDetails()も参照してください 。
editorialModel : EditorialModel [read-only]
このプロパティは、場所の編集説明を取得するために使用できるモデルを保持します。
extendedAttributes : ExtendedAttributes [read-only]
このプロパティは、プレイスの拡張属性を保持する。拡張属性は、プレイスのプロパティでカバーされていないプレイスに関する追加情報です。
favorite : Place
このプロパティは、その場所のお気に入りのインスタンスを保持する。
icon : Icon
このプロパティは、場所を表すために使用できるグラフィカルなアイコンを保持します。
imageModel : ImageModel [read-only]
このプロパティは、その場所の画像を取得するために使用できるモデルを保持する。
location : QtPositioning::Location
このプロパティは、座標、住所、バウンディングボックスを取得するために使用できる場所の位置を保持します。
name : string
このプロパティは、場所を表すのに使用できる場所の名前を保持する。
placeId : string
このプロパティは、場所の一意な識別子を保持する。場所の識別子は、それを生成したPlugin にのみ意味があり、Plugins 間で移動することはできない。場所の ID は、普遍的に一意であることは保証されないが、それを生成したPlugin 内で一意である。
場所 ID だけがわかれば、他のすべての場所データはPlugin から取得できる。
place.plugin = myPlugin; place.placeId = "known-place-id"; place.getDetails();
plugin : Plugin
このプロパティは、この場所を提供したPlugin 、サービスに関する詳細情報を取得するために使用できます。
primaryEmail : string [read-only]
このプロパティは、場所の主要な電子メールアドレスを保持します。もしこの場所に "email "コンタクト詳細が定義されていない場合、このプロパティは空文字列になります。これは以下と同じです。
var primaryEmail;
if (place.contactDetails["email"].length > 0)
primaryEmail = place.contactDetails["email"][0].value;primaryFax : string [read-only]
このプロパティは、場所の主要なファックス番号を保持する。もしこの場所に "FAX "連絡先詳細が定義されていなければ、このプロパティは空文字列になります。これは以下と等価です。
var primaryFax;
if (place.contactDetails["fax"].length > 0)
primaryFax = place.contactDetails["fax"][0].value;primaryPhone : string [read-only]
このプロパティは、場所の主要な電話番号を保持する。もし、この場所に "電話 "連絡先詳細が定義されていない場合、このプロパティは空文字列になります。これと等価です:
var primaryPhone;
if (place.contactDetails["phone"].length > 0)
primaryPhone = place.contactDetails["phone"][0].value;primaryWebsite : string [read-only]
このプロパティは、場所の主要なウェブサイトのURLを保持します。もしこのプレイスに "ウェブサイト "コンタクト詳細が定義されていない場合、このプロパティは空文字列になります。これは以下と等価です
var primaryWebsite;
if (place.contactDetails["website"].length > 0)
primaryWebsite = place.contactDetails["website"][0].value;ratings : Ratings
このプロパティは、場所の評価を保持します。レーティングは場所の質の指標となります。
reviewModel : ReviewModel [read-only]
このプロパティは、その場所に関するレビューを取得するために使用できるモデルを保持します。
status : enumeration [read-only]
このプロパティは、その場所のステータスを保持する。以下のいずれかになります:
| プレース.レディ | 最後の操作でエラーは発生しませんでした。 |
| プレース.保存中 | プレイスは現在保存中であり、保存が完了するまで他の操作を行うことはできません。 |
| 場所.取得中 | 現在、場所の詳細を取得中です。完了するまで、他の操作は実行できません。 |
| 場所.削除 | その場所は現在削除中です。完了するまで他の操作はできません。 |
| 場所.エラー | 最後の操作中にエラーが発生しました。 |
プレイスの状態は、status プロパティをハンドラ関数に接続し、ハンドラ関数に状態の変化を処理させることで確認できます。
place.statusChanged.connect(statusChangedHandler); ... function statusChangedHandler() { if (statusChangedHandler.prevStatus === Place.Saving) { switch (place.status) { case Place.Ready: console.log('Save successful'); break; case Place.Error: console.log('Save failed'); break; default: break; } } statusChangedHandler.prevStatus = place.status; }
supplier : Supplier
このプロパティは場所データの供給者を保持する。サプライヤーは通常、その場所に関するデータを収集した企業や組織です。
visibility : enumeration
このプロパティは、その場所の可視性を保持します。以下のいずれかになります:
| Place.UnspecifiedVisibility | 場所の可視性が指定されていない場合、Plugin のデフォルトの可視性が使用されます。 |
| 場所.デバイスの可視性 | 場所は現在のデバイスに限定されます。場所はデバイスから転送されません。 |
| 場所.プライベート可視性 | その場所は現在のユーザーに非公開です。場所はオンラインサービスに転送されることがありますが、現在のユーザーにのみ表示されます。 |
| 場所.PublicVisibility | その場所は公開されています。 |
可視性は、デバイス上のアプリケーションのユーザーインターフェースにおける場所の表示方法には影響しないことに注意してください。代わりに、場所の共有セマンティクスを定義します。
メソッドのドキュメント
void copyFrom(Place original)
original の場所のデータをこの場所にコピーします。この場所のプラグインでサポートされているデータのみがコピーされ、場所の識別子のようなプラグイン固有のデータはコピーされません。
string errorString()
最後の操作のエラー内容を文字列で返します。最後の操作が正常に完了した場合は、文字列は空です。
void getDetails()
このメソッドは場所の詳細の取得を開始します。
取得中はstatus プロパティが Place.Fetching に変更されます。成功すると、オブジェクトのプロパティが更新され、status が Place.Ready に、detailsFetched が true に設定されます。エラー時にはstatus が Place.Error に設定されます。errorString() メソッドを使用すると、エラーの詳細を取得できます。
void initializeFavorite(Plugin destinationPlugin)
保存先プラグインに保存する場所のお気に入りインスタンスを作成するdestinationPlugin 。このメソッドは、favorite プロパティがnull でない場合、何もしません。
void remove()
このメソッドは、プレースに対して削除操作を実行します。
保存操作の進行中は、status プロパティが Place.Removing に変更されます。成功時status は Place.Ready に設定されます。エラーの場合、status は Place.Error に設定されます。errorString() メソッドを使用すると、エラーの詳細を取得できます。
void save()
このメソッドは、プレースに対して保存操作を実行します。
保存操作の実行中は、status プロパティが Place.Saving に変更されます。成功すると、status は Place.Ready に設定されます。エラーの場合、status は Place.Error に設定されます。errorString() メソッドを使用すると、エラーの詳細を取得できます。
placeId プロパティが空であった場合、保存に成功すると自動的に有効な値が割り当てられます。
PlaceSearchModel は、更新を検出した場所に対してPlace::getDetails を呼び出すことに注意。この結果、PlaceSearchModel のプレイスが保存に成功するたびに、プレイスの詳細がフェッチされ、Saving 、Ready 、Fetching 、Ready という一連の状態変化が起こることになる。
© 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.