RouteModel QML Type
RouteModel 型は、ルートへのアクセスを提供します。詳細...
| Import Statement: | import QtLocation 6.12 |
| Since: | QtLocation 5.5 |
プロパティ
- autoUpdate : bool
- count : int
- error : enumeration
- errorString : string
- measurementSystem : Locale::MeasurementSystem
- plugin : Plugin
- query : RouteQuery
- status : enumeration
方法
詳細な説明
RouteModel 型は、モデル/ビューのグループの一部として使用され、バックエンドプロバイダーから地理的な経路を取得します。 ルートには、2 地点間の自動車での道順、複数の経由地を含む徒歩ルート、およびその他さまざまな類似の概念に関するデータが含まれます。この型は、QML の他の Model 型(例えばListModel を参照)とほぼ同様に機能し、MapItemView やListView などのビューと連携します。
Map やGeocodeModel と同様に、RouteModelが機能するために必要なすべてのデータはサービスプラグインから提供されます。これはplugin プロパティに含まれており、RouteModelが実際に動作するには、このプロパティを事前に設定する必要があります。
プラグインの設定が完了したら、適切なウェイポイントやその他の設定を含むRouteQuery を作成し、RouteModelのquery プロパティに設定します。autoUpdate が有効になっている場合、更新は自動的に開始されます。そうでない場合は、update メソッドを使用できます。デフォルトでは、autoUpdate は無効になっています。
RouteModel に格納および返されるデータは、ロール名「routeData」を持つリストとして、route オブジェクトで構成されています。その構造や内容に関する詳細については、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 の変更に応じて、モデルが自動的に更新されるかどうかを制御します。このプロパティのデフォルト値はfalseです。
この値を「true」に設定する場合、query プロパティで設定されたRouteQuery オブジェクトに何らかの変更があると、新しいリクエストが送信されることに注意してください。autoUpdateを有効にした状態でRouteQuery の多くのプロパティを調整すると、不要な(そして後に破棄される)リクエストが大量に生成される可能性があります。
count : int [read-only]
このプロパティは、モデルが現在保持しているルートの数を表します。この値は、QtLocation::RouteModel::get メソッドを介してルートにアクセスする際などに利用できます。
error : enumeration [read-only]
この読み取り専用プロパティには、ルーティングリクエストの最新のエラー値が格納されます。
- RouteModelNoError - エラーは発生していません。
- RouteModel.xml-ph-0000@deepl.internal - エラーは発生していません。.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.Null - ルートリクエストが発行されていないか、xml-ph-0000@deepl.internal が呼び出されました。
- RouteModel.Loading - ルーティングリクエストが発行されたが、まだ完了していない
- RouteModel.Error - ルーティングエラーが発生しました。詳細はerror およびerrorString
メソッドのドキュメント
void cancel()
未処理のリクエストをすべてキャンセルし、エラーをクリアします。モデルのステータスは、RouteModel.Null またはRouteModel.Ready のいずれかに設定されます。
route get(int index)
指定されたindex にあるルートを返します。利用可能なルートの数を確認するには、count プロパティを使用してください。ルートのインデックスは0から始まるため、アクセス可能な範囲は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.