이 페이지에서

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() 함수는 엔진의 보고된 기능을 구성하는 여러 함수 중 하나입니다. 엔진의 기능이 기본값과 다른 경우, 보고된 기능이 정확하도록 이 함수들을 사용해야 합니다.

잘못되거나 일관성 없는 동작을 방지하기 위해, calculateRoute(), updateRoute() 또는 기타 기능 보고 함수를 사용하기 전에 이 작업을 수행하는 것이 중요합니다.

QGeoRouteManagerEngine의 서브클래스는 엔진에서 사용하는 QGeoRouteReply 인스턴스에 엔진 고유의 데이터(예: 네트워크 기반 서비스를 위한 QNetworkReply 객체)를 추가하기 위해 내부적으로 QGeoRouteReply 의 서브클래스를 자주 사용합니다.

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 가 발생합니다.

반환된 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 에 요청할 수 있는 라우팅 세그먼트의 상세 수준(levels of detail)을 설정합니다.

엔진이 자신의 기능을 올바르게 보고할 수 있도록 하위 클래스에서는 이 메서드를 반드시 사용해야 합니다. 이 함수를 사용하지 않으면 엔진은 세그먼트 세부 정보를 전혀 지원하지 않는다고 보고합니다.

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 가 초기 경로에서 충분히 멀리 떨어져 있는 경우 더욱 그렇습니다. 그렇지 않은 경우 경로는 비슷하겠지만, 남은 시간과 거리는 업데이트되고, 원래 경로에서 이미 통과한 구간은 제거됩니다.

반환된 reply 객체를 삭제하는 것은 사용자의 책임이지만, 이는 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.