GeocodeModel QML Type
GeocodeModel 型は、地理情報に関連する検索操作のサポートを提供する。詳細...
| Import Statement: | import QtLocation 6.11 |
| 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または座標を使用する場合、オブジェクトのプロパティに変更があると、新しいリクエストが送信されることに注意してください。autoUpdate が有効になっている間にオブジェクトの多くのプロパティを調整する場合、これは大量の無駄な(そして後で破棄される)リクエストを生成する可能性があります。
bounds : geoShape
このプロパティは、結果を領域内のものに制限するために使用される境界領域を保持します。これは、クエリが部分的にしか入力されていない場合に特に有用であり、サービスは指定されたデータのすべてのマッチを(逆)ジオコード化しようとします。
使用可能な型はgeoRectangle およびgeoCircle です。
count : int [read-only]
このプロパティは、モデルが現在いくつのロケーションを持っているかを保持する。特に、GeocodeModel::get -メソッドでロケーションにアクセスする際にこの値を使うことができます。
error : enumeration [read-only]
この読み取り専用プロパティは、ジオコーディング要求の最新のエラー値を保持する。
- GeocodeModel.NoError - エラーは発生していません。
- GeocodeModel.CombinationError - 複数のソースから結果を結合しているときにエラーが発生しました。
- GeocodeModel.CommunicationError - サービス プロバイダとの通信中にエラーが発生しました。
- GeocodeModel.EngineNotSetError - モデルのプラグイン プロパティが設定されていないか、プラグインに関連付けられているジオコーディング マネージャがありません。
- GeocodeModel.MissingRequiredParameterError - 必須パラメータが指定されていません。
- GeocodeModel.ParseError - サービスプロバイダからの応答が認識できない形式でした。
- GeocodeModel.UnknownError - 他のどのカテゴリにも当てはまらないエラーが発生しました。
- GeocodeModel.UnknownParameterError - プラグインが指定されたパラメータを認識できませんでした。
- GeocodeModel.UnsupportedOptionError - 要求された操作はジオコーディング プロバイダによってサポートされていません。これは、ロードされたエンジンが逆ジオコーディングのような特定のジオコーディング リクエストをサポートしていない場合に発生する可能性があります。
errorString : string [read-only]
この読み取り専用プロパティは、最新のジオコーディングエラーのテキスト表示を保持する。エラーが発生していないか、モデルがリセットされている場合は、空の文字列が返される。
関連するテキスト表現がないエラーが発生した場合にも、空の文字列が返されることがある。
limit : int
このプロパティは結果の最大数を保持する。limit とoffset の値は、自由文字列ジオコーディングでのみ適用されます (つまり、検索クエリで住所や座標を使用する場合は考慮されません)。
limit が -1 の場合は結果セット全体が返され、そうでない場合は最大 limit 個の結果が返されます。limit とoffset の結果は、ページングを実装するために一緒に使うことができます。
offset : int
このプロパティは、結果の最初の「offset」番号を返さないように指示します。limit と offset の値は、自由文字列ジオコーディングでのみ適用されます(つまり、検索クエリで住所や座標を使用する際には考慮されません)。
limit と offset の結果は、ページングを実装するために一緒に使用することができます。
plugin : Plugin
このプロパティは、実際のジオコーディングサービスを提供するプラグインを保持する。すべてのプラグインが必ずしもジオコーディングを提供するとは限らないことに注意。
Pluginも参照 。
query : QVariant
このプロパティは、ジオコーディングリクエストのデータを保持する。このプロパティは、データと実行されるアクションのタイプの両方を決定する3つのタイプのクエリを受け入れます:
- Address - ジオコーディング(住所から座標へ)
- 座標 - 逆ジオコーディング(座標→住所)
- 文字列 - ジオコーディング(住所→座標)
status : enumeration [read-only]
この読み取り専用プロパティは、モデルの現在の状態を保持する。
- GeocodeModel.Null - ジオコード要求が発行されていないか、reset が呼び出されていません。
- GeocodeModel.Ready - ジオコード要求が正常に終了しました。
- GeocodeModel.Loading - ジオコード要求が発行されましたが、まだ終了していません。
- GeocodeModel.Error - ジオコーディングエラーが発生しました。詳細はerror およびerrorString
シグナル ドキュメント
locationsChanged()
このシグナルは、モデル内の位置が変更されたときに発せられる。
注意: 対応するハンドラはonLocationsChanged です。
countも参照して ください。
メソッドのドキュメント
void cancel()
未解決のリクエストをキャンセルし、エラーをクリアする。モデルのステータスはGeocodeModel.Null またはGeocodeModel.Ready のいずれかに設定されます。
Location get(int index)
指定されたindex のLocation を返す。利用可能なロケーションの量を確認するには、count プロパティを使用する。ロケーションはゼロからインデックス付けされるので、アクセス可能な範囲は0...(count - 1)である。
範囲外にアクセスすると、ゼロ(ヌル・オブジェクト)が返され、警告が発行される。
void reset()
モデルをリセットする。すべての位置データはクリアされ、未解決のリクエストはすべて中止され、起こりうるエラーはクリアされる。モデルのステータスはGeocodeModel.Nullに設定される。
void update()
GeocodeModel にデータの更新を指示する。これは、autoUpdate が無効になっているときに、クエリが変更されたときに強制的に更新するのに便利です。
© 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.