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) |
Signals
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는 해당 API가 개발된 Qt 버전에서만 작동하도록 보장됩니다. 그러나 API 변경은 마이너 릴리스에서만 이루어집니다. (6.6, 6.7 등).
QGeoRoutingManagerEngine의 서브클래스는 calculateRoute()의 구현을 제공해야 합니다.
기본 구현에서 supportsRouteUpdates()는 false를 반환하고 updateRoute()는 QGeoRouteReply::UnsupportedOptionError 을 포함하는 QGeoRouteReply 객체를 반환합니다.
라우팅 서비스가 이동 중 경로 업데이트를 지원하는 경우 하위 클래스는 updateRoute() 구현을 제공하고 updateRoute() 호출 전 어느 시점에 setSupportsRouteUpdates(true)를 호출해야 합니다.
함수는 엔진의 보고된 기능을 구성하는 여러 함수 중 하나이며, setSupportsRouteUpdates()는 엔진의 기능을 구성하는 함수 중 하나입니다. 엔진의 기능이 기본값과 다른 경우 보고된 기능이 정확하도록 이 함수를 사용해야 합니다.
calculateRoute(), updateRoute() 또는 기능 보고 함수를 사용하기 전에 이 작업을 수행하여 부정확하거나 일관되지 않은 동작을 방지하는 것이 중요합니다.
엔진에서 사용하는 QGeoRouteReply 인스턴스에 엔진별 데이터(예: 네트워크 기반 서비스의 경우 QNetworkReply 객체)를 추가하기 위해 QGeoRouteManagerEngine의 서브클래스는 종종 내부적으로 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 을 사용하여 계산된 경로를 검색할 수 있습니다.
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.