GeocodeModel QML Type
GeocodeModel 型は、地理情報に関連する検索操作のサポートを提供する。詳細...
Import Statement: | import QtLocation 6.8 |
Since: | QtLocation 5.5 |
プロパティ
- autoUpdate : bool
- bounds : geoshape
- count : int
- error : enumeration
- errorString : string
- limit : int
- offset : int
- plugin : Plugin
- query : QVariant
- status : enumeration
信号
方法
詳細説明
GeocodeModel 型は、住所や検索文字列を地理的位置とマッチさせるためのモデル/ビューグループの一部として使用される。生成された地理的位置がどのように使用または表示されるかは、GeocodeModel に付属するビュー(例えばMapItemView やListView )によって決定される。
Map やRouteModel のように、GeocodeModel が動作するための全てのデータはサービスプラグインから提供されます。これはplugin プロパティに含まれており、GeocodeModel が有用な作業を行う前に設定されなければならない。
プラグインが設定されると、query プロパティを使用して、マッチする住所または検索文字列を指定することができます。autoUpdate が有効な場合、Model はその出力を自動的に更新します。そうでない場合は、update メソッドを使用することができます。デフォルトでは、autoUpdate は無効になっています。
GeocodeModel に保存され返されるデータはLocation オブジェクトで構成され、"locationData" というロール名を持つリストとして返されます。その構造と内容の詳細についてはLocation のドキュメントを参照。
使用例
以下のスニペットは2部構成になっており、1つ目はオブジェクトの宣言、2つ目はそれを使った短い手続きコードである。geocodeModel のautoUpdate プロパティを false に設定し、クエリがセットアップされたらupdate を呼び出す。この場合、query で文字列値を使用しているため、autoUpdate を有効にしても、更新は 1 回しか行われません。しかし、Address オブジェクトを提供した場合、そのプロパティを設定する際に、誤って複数のリクエストをトリガーしてしまう可能性があります。
Plugin {
id: aPlugin
}
GeocodeModel {
id: geocodeModel
plugin: aPlugin
autoUpdate: false
}
{ geocodeModel.query = "53 Brandl St, Eight Mile Plains, Australia" geocodeModel.update() }
プロパティ ドキュメント
autoUpdate : bool |
このプロパティは、アタッチされたクエリの変更に応じてモデルが自動的に更新されるかどうかを制御します。このプロパティのデフォルト値は「false」です。
この値を'true'に設定し、Addressまたはcoordinate をクエリとして使用する場合、オブジェクトのプロパティに変更があると、新しいリクエストが送信されることに注意してください。autoUpdateが有効になっている間にオブジェクトの多くのプロパティを調整する場合、これは大量の無駄な(そして後で破棄される)リクエストを生成する可能性があります。
bounds : geoshape |
このプロパティは、結果を領域内のものに制限するために使用される境界領域を保持します。これは、クエリが部分的にしか入力されていない場合に特に有用で、指定されたデータに対して一致するすべてのジオコーディングを(逆に)試みます。
使用可能なタイプは、georectangle およびgeocircle です。
count : int |
このプロパティは、モデルが現在持っているロケーションの数を保持する。他の用途として、GeocodeModel::get -メソッドでロケーションにアクセスするときに、この値を使用することができる。
error : enumeration |
この読み取り専用プロパティは、ジオコーディング要求の最新のエラー値を保持する。
- GeocodeModelNoError.- エラーは発生していない。
- GeocodeModel.CombinationError - 複数のソースから結果を結合しているときにエラーが発生しました。
- GeocodeModel.CommunicationError - サービス プロバイダとの通信中にエラーが発生しました。
- GeocodeModel.EngineNotSetError - モデルのプラグイン プロパティが設定されていないか、プラグインに関連付けられているジオコーディング マネージャがありません。
- GeocodeModel.MissingRequiredParameterError - 必須パラメータが指定されていません。
- GeocodeModel.ParseError - サービスプロバイダからの応答が認識できない形式でした。
- GeocodeModel.UnknownError - 他のどのカテゴリにも当てはまらないエラーが発生しました。
- GeocodeModel.UnknownParameterError - プラグインが指定されたパラメータを認識できませんでした。
- GeocodeModel.UnsupportedOptionError - 要求された操作はジオコーディング プロバイダによってサポートされていません。これは、ロードされたエンジンが逆ジオコーディングのような特定のジオコーディング要求をサポートしていない場合に発生する可能性があります。
errorString : string |
この読み取り専用プロパティは、最新のジオコーディング エラーのテキスト表示を保持します。エラーが発生していないか、モデルがリセットされている場合は、空の文字列が返されます。
関連するテキスト表現がないエラーが発生した場合にも、空文字列が返されることがある。
limit : int |
offset : int |
plugin : Plugin |
このプロパティは、実際のジオコーディングサービスを提供するプラグインを保持します。すべてのプラグインが必ずしもジオコーディングを提供するとは限らないことに注意してください(例えば、ルーティングやマップのみを提供することもできます)。
Pluginも参照してください 。
query : QVariant |
このプロパティはジオコーディングリクエストのデータを保持する。このプロパティは、データと実行されるアクションのタイプの両方を決定する3つのタイプのクエリを受け入れます:
- 住所 - ジオコーディング(住所から座標へ)
- coordinate - 逆ジオコーディング(座標→住所)
- 文字列 - ジオコーディング(住所から座標へ)
status : enumeration |
この読み取り専用プロパティは、モデルの現在の状態を保持する。
- GeocodeModel.Null - ジオコード要求が発行されていないか、またはreset が呼び出されていない。
- GeocodeModel.Ready - ジオコード要求が正常に終了しました。
- GeocodeModel.Loading - ジオコード要求が発行されましたが、まだ終了していません。
- GeocodeModel.Error - ジオコーディングエラーが発生しました。詳細はerror およびerrorString
シグナルのドキュメント
locationsChanged() |
メソッドのドキュメント
void cancel() |
未処理のリクエストをキャンセルし、エラーをクリアします。モデルのステータスはGeocodeModel.Null またはGeocodeModel.Readyのいずれかに設定されます。
void reset() |
モデルをリセットする。すべての位置データはクリアされ、未解決のリクエストはすべて中止され、起こりうるエラーはクリアされる。モデルのステータスはGeocodeModel.Nullに設定される。
void update() |
GeocodeModel にデータの更新を指示する。これは、autoUpdate が無効になっているときに、クエリが変更されたときに強制的に更新するために最も有用である。
© 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.