QGeoRoutingManagerEngine Class
QGeoRoutingManagerEngine クラスは、地理的なルーティング情報へのアクセスを提供したいQGeoServiceProvider プラグインの実装者向けに、インターフェースと便利なメソッドを提供します。詳細...
| Header: | #include <QGeoRoutingManagerEngine> |
| qmake: | QT += location |
| Inherits: | QObject |
パブリック関数
| QGeoRoutingManagerEngine(const QVariantMap ¶meters, QObject *parent = nullptr) | |
| virtual | ~QGeoRoutingManagerEngine() |
| virtual QGeoRouteReply * | calculateRoute(const QGeoRouteRequest &request) = 0 |
| QLocale | locale() const |
| QString | managerName() const |
| int | managerVersion() const |
| QLocale::MeasurementSystem | measurementSystem() const |
| void | setLocale(const QLocale &locale) |
| void | setMeasurementSystem(QLocale::MeasurementSystem system) |
| QGeoRouteRequest::FeatureTypes | supportedFeatureTypes() const |
| QGeoRouteRequest::FeatureWeights | supportedFeatureWeights() const |
| QGeoRouteRequest::ManeuverDetails | supportedManeuverDetails() const |
| QGeoRouteRequest::RouteOptimizations | supportedRouteOptimizations() const |
| QGeoRouteRequest::SegmentDetails | supportedSegmentDetails() const |
| QGeoRouteRequest::TravelModes | supportedTravelModes() const |
| virtual QGeoRouteReply * | updateRoute(const QGeoRoute &route, const QGeoCoordinate &position) |
シグナル
| void | errorOccurred(QGeoRouteReply *reply, QGeoRouteReply::Error error, const QString &errorString = QString()) |
| void | finished(QGeoRouteReply *reply) |
プロテクトされた関数
| void | setSupportedFeatureTypes(QGeoRouteRequest::FeatureTypes featureTypes) |
| void | setSupportedFeatureWeights(QGeoRouteRequest::FeatureWeights featureWeights) |
| void | setSupportedManeuverDetails(QGeoRouteRequest::ManeuverDetails maneuverDetails) |
| void | setSupportedRouteOptimizations(QGeoRouteRequest::RouteOptimizations optimizations) |
| void | setSupportedSegmentDetails(QGeoRouteRequest::SegmentDetails segmentDetails) |
| void | setSupportedTravelModes(QGeoRouteRequest::TravelModes travelModes) |
詳細な説明
注: バックエンドクラスについては、ソースおよびバイナリの互換性は保証されません 。API は、その開発に使用された Qt バージョンでのみ動作が保証されます。ただし、API の変更はマイナーリリース(6.6、6.7 など)でのみ行われます。
QGeoRoutingManagerEngineのサブクラスは、calculateRoute() の実装を提供する必要があります。
デフォルトの実装では、supportsRouteUpdates()はfalseを返し、updateRoute()はQGeoRouteReply::UnsupportedOptionError を含むQGeoRouteReply オブジェクトを返します。
ルーティング・サービスが走行中のルートの更新をサポートしている場合、サブクラスはupdateRoute() の実装を提供し、updateRoute() が呼び出される前の適切なタイミングで setSupportsRouteUpdates(true) を呼び出す必要があります。
関数 setSupportsRouteUpdates() は、エンジンの報告される機能を設定するいくつかの関数の 1 つです。エンジンの機能がデフォルト値と異なる場合、報告される機能が正確になるよう、これらの関数を使用する必要があります。
不正または一貫性のない動作を防ぐため、calculateRoute()、updateRoute()、または機能報告関数のいずれかを使用する前に、この処理を行うことが重要です。
QGeoRouteManagerEngine のサブクラスは、エンジン固有のデータ(ネットワークベースのサービス用のQNetworkReply オブジェクトなど)を、エンジンが使用するQGeoRouteReply インスタンスに追加するために、内部でQGeoRouteReply のサブクラスをよく利用します。
QGeoRoutingManagerも参照してください 。
メンバ関数のドキュメント
[explicit] QGeoRoutingManagerEngine::QGeoRoutingManagerEngine(const QVariantMap ¶meters, QObject *parent = nullptr)
指定されたparent を使用して新しいエンジンを構築し、parameters を通じて実装固有のデータをエンジンに渡します。
[virtual noexcept] QGeoRoutingManagerEngine::~QGeoRoutingManagerEngine()
このエンジンを破壊する。
[pure virtual] QGeoRouteReply *QGeoRoutingManagerEngine::calculateRoute(const QGeoRouteRequest &request)
request で指定されたルートの計算を開始します。
QGeoRouteReply オブジェクトが返されます。このオブジェクトを使用して、ルーティング操作を管理したり、操作の結果を取得したりすることができます。
このエンジンと返される `QGeoRouteReply ` オブジェクトは、操作が完了したか、エラーが発生したかを示すシグナルを発行します。
操作が完了すると、QGeoRouteReply::routes を使用して、計算された 1 つまたは複数のルートを取得できます。
request に、このエンジンのメソッドによって報告された、このエンジンではサポートされていない機能が含まれている場合、QGeoRouteReply::UnsupportedOptionError が発生します。
返された reply オブジェクトの削除はユーザーの責任となりますが、QGeoRoutingManagerEngine::finished()、QGeoRoutingManagerEngine::errorOccurred()、QGeoRouteReply::finished() またはQGeoRouteReply::errorOccurred() に接続されたスロット内で、deleteLater() を使用して削除を行うこともできます。
[signal] void QGeoRoutingManagerEngine::errorOccurred(QGeoRouteReply *reply, QGeoRouteReply::Error error, const QString &errorString = QString())
このシグナルは、reply の処理中にエラーが検出された際に発せられます。その後、QGeoRoutingManagerEngine::finished()シグナルが発行される可能性があります。
エラーの内容は、エラーコード `error` によって示されます。`errorString ` が空でない場合、そこにはエラーの説明文が含まれます。
このシグナルとQGeoRouteReply::errorOccurred() は同時に発行されます。
注: このシグナルに接続されたスロット内で、reply オブジェクトを削除しないでください 。代わりにdeleteLater() を使用してください。
[signal] void QGeoRoutingManagerEngine::finished(QGeoRouteReply *reply)
このシグナルは、reply の処理が完了したときに発せられます。
reply::error() が `QGeoRouteReply::NoError ` と等しい場合、処理は正常に完了しました。
このシグナルとQGeoRouteReply::finished()は同時に発火します。
注: このシグナルに接続されたスロット内で、reply オブジェクトを削除しないでください 。代わりにdeleteLater() を使用してください。
QLocale QGeoRoutingManagerEngine::locale() const
このルーティングマネージャーに対して、住所や指示に使用する言語を指定するために用いられるロケールを返します。
setLocale()も参照してください 。
QString QGeoRoutingManagerEngine::managerName() const
このエンジン実装が、他のプラグインが提供する実装と区別するために使用する名前を返します。
managerName() とmanagerVersion() の組み合わせは、プラグインの実装間で一意である必要があります。
int QGeoRoutingManagerEngine::managerVersion() const
このエンジン実装のバージョンを返します。
managerName() と managerVersion() の組み合わせは、プラグインの実装間で一意である必要があります。
QLocale::MeasurementSystem QGeoRoutingManagerEngine::measurementSystem() const
このマネージャーで使用されている測定単位系を返します。
setMeasurementSystem() が呼び出されている場合、この関数が返す値は、locale() やmeasurementSystem() が返す値とは異なる場合があります。その場合、この関数が返す値が、マネージャーによって使用される値となります。
setMeasurementSystem() およびsetLocale()も参照してください 。
void QGeoRoutingManagerEngine::setLocale(const QLocale &locale)
このマネージャーが使用するロケールをlocale に設定します。
このルーティングマネージャーが、異なる言語での住所や指示の返却に対応している場合、それらはlocale の言語で返されます。
これが設定されていない場合、使用されるロケールはデフォルトでシステムのロケールになります。
locale()も参照してください 。
void QGeoRoutingManagerEngine::setMeasurementSystem(QLocale::MeasurementSystem system)
このマネージャーが使用する測定単位系を `system` に設定します。
測定単位系はロケールとは独立して設定できます。setLocale() およびこの関数の両方が測定単位系を設定します。最後に呼び出された関数によって設定された値が使用されます。
measurementSystem()、locale()、およびsetLocale()も参照してください 。
[protected] void QGeoRoutingManagerEngine::setSupportedFeatureTypes(QGeoRouteRequest::FeatureTypes featureTypes)
このエンジンが経路計画の際に考慮できるフィーチャのタイプを、featureTypes に設定します。
エンジンがその機能を正しく報告できるようにするため、サブクラスではこのメソッドを使用することが重要です。この関数を使用しない場合、エンジンはどのフィーチャタイプもサポートしていないと報告します。
supportedFeatureTypes()も参照してください 。
[protected] void QGeoRoutingManagerEngine::setSupportedFeatureWeights(QGeoRouteRequest::FeatureWeights featureWeights)
このエンジンが経路計画中にさまざまな機能に適用できる重み付けを、featureWeights に設定します。
サブクラスは、エンジンがその機能を正しく報告できるように、このメソッドを使用することが重要です。この関数を使用しない場合、エンジンは特徴の重み付けを一切サポートしていないと報告します。
supportedFeatureWeights()も参照してください 。
[protected] void QGeoRoutingManagerEngine::setSupportedManeuverDetails(QGeoRouteRequest::ManeuverDetails maneuverDetails)
このエンジンがmaneuverDetails に対して要求できる航法操作の詳細レベルを設定します。
エンジンが自身の機能を正しく報告できるようにするため、サブクラスではこのメソッドを使用することが重要です。この関数を使用しない場合、エンジンは操縦の詳細情報を一切サポートしていないと報告します。
supportedManeuverDetails()も参照してください 。
[protected] void QGeoRoutingManagerEngine::setSupportedRouteOptimizations(QGeoRouteRequest::RouteOptimizations optimizations)
このエンジンがサポートするルート最適化を `optimizations` に設定します。
エンジンがその機能を正しく報告するように、サブクラスはこのメソッドを使用することが重要です。この関数が使用されない場合、エンジンはルート最適化を一切サポートしていないと報告します。
supportedRouteOptimizations()も参照してください 。
[protected] void QGeoRoutingManagerEngine::setSupportedSegmentDetails(QGeoRouteRequest::SegmentDetails segmentDetails)
このエンジンがsegmentDetails に対して要求できるルーティングセグメントの詳細レベルを設定します。
エンジンが自身の機能を正しく報告できるようにするため、サブクラスではこのメソッドを使用することが重要です。この関数を使用しない場合、エンジンはセグメントの詳細情報を一切サポートしていないと報告します。
supportedSegmentDetails()も参照してください 。
[protected] void QGeoRoutingManagerEngine::setSupportedTravelModes(QGeoRouteRequest::TravelModes travelModes)
このエンジンがサポートする移動モードをtravelModes に設定します。
サブクラスは、エンジンがその機能を正しく報告するように、このメソッドを使用することが重要です。この関数を使用しない場合、エンジンは移動モードを一切サポートしていないと報告します。
supportedTravelModes()も参照してください 。
QGeoRouteRequest::FeatureTypes QGeoRoutingManagerEngine::supportedFeatureTypes() const
このエンジンが経路計画の際に考慮できるフィーチャのタイプを返します。
setSupportedFeatureTypes()も参照してください 。
QGeoRouteRequest::FeatureWeights QGeoRoutingManagerEngine::supportedFeatureWeights() const
このエンジンがルート計画の際に、さまざまな特徴に対して適用できる重み付けを返します。
setSupportedFeatureWeights()も参照してください 。
QGeoRouteRequest::ManeuverDetails QGeoRoutingManagerEngine::supportedManeuverDetails() const
このエンジンで要求可能なナビゲーション操作の詳細レベルを返します。
setSupportedManeuverDetails()も参照してください 。
QGeoRouteRequest::RouteOptimizations QGeoRoutingManagerEngine::supportedRouteOptimizations() const
このエンジンでサポートされている経路最適化機能を返します。
setSupportedRouteOptimizations()も参照してください 。
QGeoRouteRequest::SegmentDetails QGeoRoutingManagerEngine::supportedSegmentDetails() const
このエンジンで要求可能なルーティングセグメントの詳細レベルを返します。
setSupportedSegmentDetails()も参照してください 。
QGeoRouteRequest::TravelModes QGeoRoutingManagerEngine::supportedTravelModes() const
このエンジンがサポートしている移動モードを返します。
setSupportedTravelModes()も参照してください 。
[virtual] QGeoRouteReply *QGeoRoutingManagerEngine::updateRoute(const QGeoRoute &route, const QGeoCoordinate &position)
現在の位置position に基づいて、route の更新処理を開始します。
QGeoRouteReply オブジェクトが返されます。このオブジェクトを使用して、ルーティング操作を管理したり、操作の結果を返したりすることができます。
このエンジンと返される `QGeoRouteReply ` オブジェクトは、操作が完了したか、エラーが発生したかを示すシグナルを発行します。
supportsRouteUpdates() が false を返した場合、QGeoRouteReply::UnsupportedOptionError が発生します。
操作が完了すると、QGeoRouteReply::routes を使用して更新されたルートを取得できます。
返されるルートは、特に `position ` が初期ルートから十分に離れている場合、元のルートとはまったく異なるものになる可能性があります。それ以外の場合は、ルートは類似したものになりますが、残り時間と距離は更新され、元のルートのうち通過済みの区間は削除されます。
返された返信オブジェクトの削除はユーザーの責任ですが、QGeoRoutingManagerEngine::finished()、QGeoRoutingManagerEngine::errorOccurred()、QGeoRouteReply::finished() またはQGeoRouteReply::errorOccurred() に接続されたスロット内で、deleteLater() を使用してこれを行うことができます。
© 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.