RouteModel QML Type
RouteModel 型は、ルートへのアクセスを提供します。詳細...
| Import Statement: | import QtLocation 6.11 |
| Since: | QtLocation 5.5 |
プロパティ
- autoUpdate : bool
- count : int
- error : enumeration
- errorString : string
- measurementSystem : Locale::MeasurementSystem
- plugin : Plugin
- query : RouteQuery
- status : enumeration
方法
詳細説明
RouteModel 型は、バックエンドのプロバイダから地理的なルートを取得するためのモデル/ビューグループの一部として使用されます。ルートには、2地点間の車での移動、複数のウェイポイントを持つ徒歩での移動、その他様々な類似したコンセプトのデータが含まれます。これはQMLの他のモデル型(例えばListModelを参照)と同じように機能し、MapItemView やListView のようなビューと相互作用します。
Map やGeocodeModel のように、RouteModel が動作するための全てのデータは、サービスプラグインから提供されます。これはplugin プロパティに含まれており、RouteModel が有用な作業を行う前に設定する必要があります。
プラグインが設定されたら、適切なウェイポイントやその他の設定でRouteQuery を作成し、RouteModel のquery プロパティを設定します。autoUpdate が有効になっていれば、自動的に更新されます。そうでない場合は、update メソッドを使用できます。デフォルトでは、autoUpdate は無効になっています。
RouteModel に保存され返されるデータは、route オブジェクトで構成され、"routeData" というロール名のリストとして返されます。その構造と内容の詳細についてはroute のドキュメントを参照してください。
使用例
以下のスニペットは2部構成で、まずオブジェクトの宣言、次にそれを使った短い手続きコードを示します。routeModel のautoUpdate プロパティを false に設定し、クエリがセットアップされたらupdate を呼び出します。クエリのセットアップの途中で無駄な追加リクエストが発生しないようにするためです。
Plugin {
id: aPlugin
name: "osm"
}
RouteQuery {
id: aQuery
}
RouteModel {
id: routeModel
plugin: aPlugin
query: aQuery
autoUpdate: false
}{
aQuery.addWaypoint(...)
aQuery.addWaypoint(...)
aQuery.travelModes = ...
routeModel.update()
}プロパティのドキュメント
autoUpdate : bool
このプロパティは、接続されているRouteQuery の変更に応じて Model が自動的に更新されるかどうかを制御します。このプロパティのデフォルト値は「false」です。
この値を'true'に設定した場合、query プロパティに設定されたRouteQuery オブジェクトに変更があると、新しいリクエストが送信されることに注意してください。autoUpdateを有効にしてRouteQuery の多くのプロパ ティを調整している場合、これは大量の無駄な(そして後で破棄される)リクエストを 生成する可能性がある。
count : int [read-only]
このプロパティは、モデルが現在持っているルートの数を保持します。特に、QtLocation::RouteModel::get -メソッドでルートにアクセスする際にこの値を使用することができます。
error : enumeration [read-only]
この読み出し専用プロパティは、ルーティングリクエストの最新のエラー値を保持する。
- RouteModel.NoError - エラーは発生していません。
- RouteModel.CommunicationError - サービスプロバイダとの通信中にエラーが発生しました。
- RouteModel.EngineNotSetError - モデルのプラグイン・プロパティが設定されていないか、プラグインに関連付けられているルーティング・マネージャがありません。
- RouteModel.MissingRequiredParameterError - 必須パラメータが指定されていません。
- RouteModel.ParseError - サービスプロバイダからの応答が認識できない形式でした。
- RouteModel.UnknownError - 他のどのカテゴリにも当てはまらないエラーが発生しました。
- RouteModel.UnknownParameterError - プラグインが指定されたパラメータを認識できませんでした。
- RouteModel.UnsupportedOptionError - 要求された操作はルーティング プロバイダによってサポートされていません。ロードされたエンジンが特定のタイプのルーティング要求をサポートしていない場合に発生する可能性があります。
errorString : string [read-only]
この読み取り専用プロパティは、最新のルーティングエラーのテキスト表示を保持する。エラーが発生していないか、モデルがリセットされている場合は、空の文字列が返されます。
関連するテキスト表現を持たないエラーが発生した場合にも、空の文字列が返されることがあります。
measurementSystem : Locale::MeasurementSystem
このプロパティは、ルートを計算するときに使用される測定システムを保持する。このプロパティは、plugin のPlugin::locales プロパティが変更されると変更されます。
このプロパティを設定する場合は、plugin プロパティが設定された後に設定する必要があります。
plugin : Plugin
このプロパティは、実際のルーティングサービスを提供するプラグインを保持します。すべてのプラグインが必ずしもルーティングを提供するとは限らないことに注意してください(例えば、ジオコーディングやマップのみを提供することもできます)。
RouteModel が有用な操作を実行する前に、有効なプラグインが設定されている必要があります。
Pluginも参照して ください。
query : RouteQuery
このプロパティは、ルートリクエストのデータを保持する。主なデータは、ウェイポイントの座標と、さらに設定可能なもの(移動手段、ルート上で避けるべきものなど)です。
status : enumeration [read-only]
この読み取り専用のプロパティは、モデルの現在の状態を保持する。
- RouteModel.Null - ルート要求が発行されていないか、reset が呼び出されていません。
- RouteModel.Ready - ルート要求は正常に終了しました。
- RouteModel.Loading - ルート要求は発行されましたが、まだ終了していません。
- RouteModel.Error - ルート・エラーが発生しました。詳細はerror およびerrorString
メソッドのドキュメント
void cancel()
未解決のリクエストをキャンセルし、エラーをクリアする。モデルのステータスはRouteModel.Null またはRouteModel.Ready のいずれかに設定されます。
route get(int index)
指定されたindex のルートを返します。利用可能なルートの量を確認するには、count プロパティを使用します。ルートはゼロからインデックス付けされるので、アクセス可能な範囲は0...(count - 1)です。
範囲外にアクセスすると、空のルートが返され、警告が発行されます。
void reset()
モデルをリセットする。すべてのルートデータがクリアされ、未解決のリクエストはすべて中止され、起こりうるエラーはクリアされます。モデルの状態はRouteModel.Null に設定されます。
void update()
RouteModel にデータの更新を指示する。これは、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.