このページでは

GeocodeModel QML Type

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

Import Statement: import QtLocation 6.12
Since: QtLocation 5.5

プロパティ

信号

方法

詳細な説明

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

Map やRouteModel と同様に、GeocodeModelが機能するために必要なすべてのデータは、サービスプラグインから提供されます。これはplugin プロパティに含まれており、GeocodeModelが実用的な処理を行うには、このプロパティを事前に設定しておく必要があります。

プラグインの設定が完了すると、query プロパティを使用して、照合する住所や検索文字列を指定できます。autoUpdate が有効になっている場合、モデルは出力を自動的に更新します。そうでない場合は、update メソッドを使用できます。デフォルトでは、autoUpdate は無効になっています。

GeocodeModel に格納および返されるデータは、ロール名「locationData」を持つリストとして、Location オブジェクトで構成されています。その構造や内容に関する詳細については、Location のドキュメントを参照してください。

使用例

以下のスニペットは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」または「geoCoordinate 」を使用する場合、オブジェクトのプロパティに何らかの変更があっただけで、新しいリクエストが送信されることに注意してください。autoUpdateが有効な状態でオブジェクトの多くのプロパティを調整すると、不要な(そして後で破棄される)リクエストが大量に生成される可能性があります。

bounds : geoShape

このプロパティには、結果をその領域内に限定するために使用される境界領域が格納されます。これは、クエリが部分的にしか入力されていない場合に特に有用です。なぜなら、サービスは指定されたデータに一致するすべての項目に対して(逆)ジオコーディングを試みるからです。

許容される型は、geoRectangle およびgeoCircle です。

count : int [read-only]

このプロパティは、モデルが現在持つロケーションの数を保持します。この値は、GeocodeModel::get メソッドを介してロケーションにアクセスする場合などに利用できます。

error : enumeration [read-only]

この読み取り専用プロパティには、ジオコーディングリクエストの最新のエラー値が格納されます。

  • GeocodeModelNoError - エラーは発生していません。
  • GeocodeModel.xml-ph-0000@deepl.internal - エラーは発生していません。.CombinationError - 複数のソースからの結果を統合中にエラーが発生しました。
  • GeocodeModel.xml-ph-0000@deepl.internal - エラーは発生していません。.CombinationError - 複数のソースからの結果を結合中にエラーが発生しました。
  • 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

このプロパティは、検索結果の最初の「オフセット」分の結果を返さないように指定します。「limit 」および「offset」の値は、フリー文字列によるジオコーディングの場合にのみ適用されます(つまり、検索クエリで住所や座標を使用する場合は考慮されません)。

limit とoffsetの結果を組み合わせて使用することで、ページネーションを実現できます。

plugin : Plugin

このプロパティには、実際のジオコーディングサービスを提供するプラグインが格納されます。なお、すべてのプラグインが必ずしもジオコーディングを提供するとは限りません(たとえば、ルート検索や地図機能のみを提供する場合もあります)。

Pluginも参照してください 。

query : QVariant

このプロパティには、ジオコーディングリクエストのデータが格納されます。このプロパティは、データと実行されるアクションの種類の両方を決定する、3種類のクエリを受け付けます。

  • 住所 - ジオコーディング(住所から座標へ)
  • geoCoordinate - リバースジオコーディング(座標から住所)
  • 文字列 - ジオコーディング(住所から座標へ)

status : enumeration [read-only]

この読み取り専用プロパティは、モデルの現在の状態を保持します。

  • GeocodeModel.Null - ジオコードリクエストが発行されていないか、reset が呼び出されました。
  • GeocodeModel.Null - ジオコードリクエストが発行されていないか、xml-ph-0000@deepl.internal が呼び出されました。.Ready - ジオコードリクエストが正常に完了しました。
  • GeocodeModel.Loading - ジオコードリクエストが発行されたが、まだ完了していない
  • GeocodeModel.Error - ジオコーディングエラーが発生しました。詳細はerror およびerrorString

Signalのドキュメント

locationsChanged()

このシグナルは、モデル内の位置が変更された際に発せられます。

注: 対応するハンドラは onLocationsChanged です。

「count」も参照してください 。

メソッドのドキュメント

void cancel()

未処理のリクエストをすべてキャンセルし、エラーを解消します。モデルのステータスは、GeocodeModel.Null またはGeocodeModel.Ready のいずれかに設定されます。

Location get(int index)

指定されたindex におけるLocation を返します。利用可能なロケーションの数を確認するには、count プロパティを使用してください。ロケーションのインデックスは0から始まるため、アクセス可能な範囲は0...(count - 1)となります。

範囲外のインデックスにアクセスした場合、ゼロ(nullオブジェクト)が返され、警告が出されます。

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.