QGeoRoutingManagerEngine Class

QGeoRoutingManagerEngine クラスは、地理的なルーティング情報へのアクセスを提供したいQGeoServiceProvider プラグインの実装者に、インターフェイスと便利なメソッドを提供します。詳細...

Header: #include <QGeoRoutingManagerEngine>
qmake: QT += location
Inherits: QObject

パブリック関数

QGeoRoutingManagerEngine(const QVariantMap &parameters, 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 のサブクラスは、エンジンによって使用されるQGeoRouteReply インスタンスにエンジン固有のデータ(ネットワーク・ベースのサービス用のQNetworkReply オブジェクトなど)を追加するために、内部的にサブクラス foQGeoRouteReply を使用することがよくあります。

QGeoRoutingManagerも参照してください

メンバ関数ドキュメント

[explicit] QGeoRoutingManagerEngine::QGeoRoutingManagerEngine(const QVariantMap &parameters, QObject *parent = nullptr)

指定 さ れたparent で新 し いエ ン ジ ン を構築 し 、parameters を使用 し て、 エン ジ ンに実装固有のデー タ を渡 し ます。

[virtual noexcept] QGeoRoutingManagerEngine::~QGeoRoutingManagerEngine()

このエンジンを破壊する。

[pure virtual] QGeoRouteReply *QGeoRoutingManagerEngine::calculateRoute(const QGeoRouteRequest &request)

request で指定された経路の計算を開始する。

QGeoRouteReply オブジェクトが返されます。このオブジェクトは、ルーティング処理を管理したり、処理結果を返したりするために使用できます。

このエンジンと返されたQGeoRouteReply オブジェクトは、操作が完了した場合やエラーが発生した場合を示すシグナルを発します。

操作が完了すると、QGeoRouteReply::routes を使用して、計算されたルートを取得することができます。

このエンジンのメソッドによって報告されたように、request にこのエンジンでサポートされていない機能が含まれている場合、QGeoRouteReply::UnsupportedOptionError が発生します。

返されたリプライ・オブジェクトを削除するのはユーザーの責任ですが、これは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() に接続されたスロットで行うことができる。

© 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.