Place QML Type

Place(場所)タイプは、関心のある位置である場所を表す。詳細...

Import Statement: import QtLocation 6.8
Since: QtLocation 5.5

プロパティ

メソッド

詳細説明

Place型は、物理的な場所を、その場所を説明する付加的なメタデータとともに表す。LocationAddresscoordinate と対照的である。場所の基本特性はnamelocation である。

場所オブジェクトは通常検索モデルから取得され、一般的に基本プロパティのみが設定される。detailsFetched プロパティは、Plugin からさらにプロパティ値を取得する必要があるかどうかをテストするために使用できます。これは、getDetails() メソッドを呼び出すことで実行できます。フェッチ操作の進行状況はstatus プロパティで監視することができ、詳細がフェッチされているときは Place.Fetching に設定されます。

Place型は、場所に関する情報を保持する多くのプロパティを持っています。場所への連絡方法の詳細は、contactDetails プロパティから入手できます。プライマリphonefaxemailwebsite を取得するための便利なプロパティもあります。

各場所には、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]

このプロパティは、場所の画像を取得するために使用できるモデルを保持します。


このプロパティは、座標、住所、バウンディングボックスを取得するために使用できる場所の位置を保持します。


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

このプロパティは、場所の可視性を保持します。以下のいずれかとなります:

プレース.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 からの場所の保存に成功するたびに、場所の詳細がフェッチされ、SavingReadyFetchingReady という一連の状態変化が発生します。


©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。