RouteModel QML Type
RouteModel 型は、ルートへのアクセスを提供します。詳細...
Import Statement: | import QtLocation 6.8 |
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() }
プロパティ Documentation
autoUpdate : bool |
このプロパティは、アタッチされたRouteQuery の変更に応じて Model が自動的に更新されるかどうかを制御します。このプロパティのデフォルト値は「false」です。
この値を'true'に設定する場合、query プロパティに設定されたRouteQuery オブジェクトに変更があると、新しいリクエストが送信されることに注意してください。autoUpdateを有効にしてRouteQuery の多くのプロパティを調整する場合、これは大量の無駄な(そして後に破棄される)リクエストを生成する可能性があります。
count : int |
このプロパティはモデルが現在持っているルートの数を保持します。特に、QtLocation::RouteModel::get -メソッドでルートにアクセスする際に、この値を使用することができます。
error : enumeration |
この読み込み専用プロパティは、ルーティングリクエストの最新のエラー値を保持します。
- RouteModelNoError.- エラーは発生していません。
- RouteModel.CommunicationError - サービスプロバイダとの通信中にエラーが発生しました。
- RouteModel.EngineNotSetError - モデルのプラグイン・プロパティが設定されていないか、プラグインに関連付けられているルーティング・マネージャがありません。
- RouteModel.MissingRequiredParameterError - 必須パラメータが指定されていません。
- RouteModel.ParseError - サービスプロバイダからの応答が認識できない形式でした。
- RouteModel.UnknownError - 他のどのカテゴリにも当てはまらないエラーが発生しました。
- RouteModel.UnknownParameterError - プラグインが指定されたパラメータを認識できませんでした。
- RouteModel.UnsupportedOptionError - 要求された操作はルーティング プロバイダによってサポートされていません。これは、ロードされたエンジンが特定のタイプのルーティング要求をサポートしていない場合に発生する可能性があります。
errorString : string |
この読み取り専用プロパティは、最新のルーティング エラーのテキスト表示を保持します。エラーが発生していないか、モデルがリセットされている場合は、空の文字列が返されます。
関連するテキスト表現がないエラーが発生した場合にも、空文字列が返されることがある。
measurementSystem : Locale::MeasurementSystem |
このプロパティは、ルートを計算する際に使用される測定システムを保持する。このプロパティは、plugin のPlugin::locales プロパティが変更されると変更されます。
このプロパティを設定する場合は、plugin プロパティが設定された後に設定する必要があります。
plugin : Plugin |
このプロパティは、実際のルーティングサービスを提供するプラグインを保持します。すべてのプラグインが必ずしもルーティングを提供するとは限らないことに注意してください(例えば、ジオコーディングやマップのみを提供することもできます)。
RouteModel が有用な操作を実行する前に、有効なプラグインが設定されている必要があります。
Pluginも参照してください 。
query : RouteQuery |
このプロパティは、ルートリクエストのデータを保持します。主なデータは、ウェイポイントの座標と、さらに設定可能なもの(移動手段、ルート上で避けるべきものなど)です。
status : enumeration |
この読み取り専用のプロパティは、モデルの現在の状態を保持します。
- RouteModel.Null - ルート要求が発行されていないか、reset が呼び出されていません。
- RouteModel.Ready - ルート要求が正常に終了しました。
- RouteModel.Loading - ルート要求は発行されましたが、まだ終了していません。
- RouteModel.Error - ルート・エラーが発生しました。詳細はerror およびerrorString
メソッドのドキュメント
void cancel() |
未処理のリクエストをキャンセルし、エラーをクリアします。モデルステータスはRouteModel.Null またはRouteModel.Ready のいずれかに設定されます。
指定されたindex のルートを返します。count プロパティを使用して、利用可能なルートの量を確認します。ルートは 0 からインデックス付けされるので、アクセス可能な範囲は 0...(count - 1) です。
範囲外にアクセスすると、空のルートが返され、警告が発行されます。
void reset() |
モデルをリセットします。すべてのルートデータがクリアされ、未解決のリクエストはすべて中止され、考えられるエラーはクリアされます。モデルのステータスはRouteModel.Null に設定される。
void update() |
RouteModel にデータの更新を指示する。これは、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.