GeocodeModel QML Type

GeocodeModel 型は、地理情報に関連する検索操作のサポートを提供する。詳細...

Import Statement: import QtLocation 6.8
Since: QtLocation 5.5

プロパティ

シグナル

メソッド

詳細説明

GeocodeModel 型は、住所や検索文字列を地理的位置とマッチさせるためのモデル/ビューグループの一部として使用される。生成された地理的位置がどのように使用または表示されるかは、GeocodeModel にアタッチされたビュー(例えばMapItemViewListView )によって決定される。

MapRouteModel のように、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 [read-only]

このプロパティは、モデルが現在持っているロケーションの数を保持する。他の用途として、GeocodeModel::get -メソッドでロケーションにアクセスするときに、この値を使用することができる。


error : enumeration [read-only]

この読み取り専用プロパティは、ジオコーディング要求の最新のエラー値を保持する。

  • GeocodeModelNoError.- エラーは発生していない。
  • 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つのタイプのクエリを受け入れます:

  • 住所 - ジオコーディング(住所から座標へ)
  • coordinate - 逆ジオコーディング(座標→住所)
  • 文字列 - ジオコーディング(住所から座標へ)

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)

指定されたindexLocation を返します。count プロパティを使用して、利用可能なロケーションの量を確認する。ロケーションはゼロからインデックス付けされるため、アクセス可能な範囲は0...(count - 1)である。

範囲外にアクセスした場合、ゼロ(ヌルオブジェクト)が返され、警告が発行されます。


void reset()

モデルをリセットする。すべての位置データはクリアされ、未解決のリクエストはすべて中止され、起こりうるエラーはクリアされる。モデルのステータスはGeocodeModel.Nullに設定される。


void update()

GeocodeModel にデータの更新を指示する。これは、autoUpdate が無効になっているときに、クエリが変更されたときに強制的に更新するために最も便利です。


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