QGeoCodingManagerEngine Class

QGeoCodingManagerEngine 클래스는 지오코딩 작업을 지원하고자 하는 QGeoServiceProvider 플러그인 구현자에게 인터페이스와 편리한 메서드를 제공합니다. 더 보기...

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

공용 함수

QGeoCodingManagerEngine(const QVariantMap &parameters, QObject *parent = nullptr)
virtual ~QGeoCodingManagerEngine()
virtual QGeoCodeReply *geocode(const QGeoAddress &address, const QGeoShape &bounds)
virtual QGeoCodeReply *geocode(const QString &address, int limit, int offset, const QGeoShape &bounds)
QLocale locale() const
QString managerName() const
int managerVersion() const
virtual QGeoCodeReply *reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds)
void setLocale(const QLocale &locale)

Signals

void errorOccurred(QGeoCodeReply *reply, QGeoCodeReply::Error error, const QString &errorString = QString())
void finished(QGeoCodeReply *reply)

상세 설명

참고: 백엔드 클래스에 대한 소스 또는 바이너리 호환성은 보장되지 않습니다. API는 해당 API가 개발된 Qt 버전에서만 작동하도록 보장됩니다. 그러나 API 변경은 마이너 릴리스에서만 이루어집니다. (6.6, 6.7 등).

기본 구현에서 supportsGeocoding() 및 supportsReverseGeocoding()은 false를 반환하고 geocode() 및 reverseGeocode()은 QGeoCodeReply::UnsupportedOptionError 를 발생시킵니다.

서비스 제공자가 지오코딩을 지원하는 경우 서브클래스는 geocode()의 구현을 제공하고 geocode()이 호출되기 전에 setSupportsGeocoding(true)을 호출해야 합니다.

마찬가지로 서비스 제공자가 리버스 지오코딩을 지원하는 경우 서브클래스는 reverseGeocode() 구현을 제공하고 reverseGeocode() 호출 전 어느 시점에 setSupportsReverseGeocoding(true)을 호출해야 합니다.

엔진이 사용하는 QGeoCodeReply 인스턴스에 엔진 관련 데이터(예: 네트워크 기반 서비스의 경우 QNetworkReply 객체)를 추가하기 위해 QGeoCodingManagerEngine의 서브클래스는 종종 내부적으로 QGeoCodeReply 의 서브클래스를 사용합니다.

QGeoCodingManager참조하세요 .

멤버 함수 문서

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

지정된 parent, parameters 을 사용하여 구현 관련 데이터를 엔진에 전달하여 새 엔진을 구축합니다.

[virtual noexcept] QGeoCodingManagerEngine::~QGeoCodingManagerEngine()

이 엔진을 파괴합니다.

[signal] void QGeoCodingManagerEngine::errorOccurred(QGeoCodeReply *reply, QGeoCodeReply::Error error, const QString &errorString = QString())

이 신호는 reply 처리 중 오류가 감지되었을 때 발생합니다. QGeoCodingManagerEngine::finished() 신호가 뒤따를 수 있습니다.

오류는 오류 코드 error 로 설명됩니다. errorString 이 비어 있지 않으면 오류에 대한 텍스트 설명이 포함됩니다.

이 신호와 QGeoCodeReply::errorOccurred() 신호가 동시에 전송됩니다.

참고: 이 신호에 연결된 슬롯의 reply 객체를 삭제하지 마세요. 대신 deleteLater()를 사용하세요.

[signal] void QGeoCodingManagerEngine::finished(QGeoCodeReply *reply)

이 신호는 reply 처리가 완료되면 전송됩니다.

reply::error()가 QGeoCodeReply::NoError 와 같으면 처리가 성공적으로 완료된 것입니다.

이 신호와 QGeoCodeReply::finished()가 동시에 전송됩니다.

참고: 이 신호에 연결된 슬롯의 reply 객체를 삭제하지 마세요. 대신 deleteLater()를 사용하세요.

[virtual] QGeoCodeReply *QGeoCodingManagerEngine::geocode(const QGeoAddress &address, const QGeoShape &bounds)

address 의 지오코딩을 시작합니다. 지오코딩은 주어진 주소에 해당하는 좌표를 찾는 프로세스입니다.

지오코딩 작업을 관리하고 작업 결과를 반환하는 데 사용할 수 있는 QGeoCodeReply 객체가 반환됩니다.

이 엔진과 반환된 QGeoCodeReply 객체는 작업이 완료되었는지 또는 오류가 발생했는지를 나타내는 신호를 방출합니다.

supportsGeocoding()이 false를 반환하면 QGeoCodeReply::UnsupportedOptionError 이 발생합니다.

작업이 완료되면 QGeoCodeReply::locations()를 사용하여 QGeoLocation 객체 목록으로 구성된 결과를 검색할 수 있습니다. 이러한 객체는 좌표와 주소 데이터의 조합을 나타냅니다.

결과에 반환되는 주소 데이터는 address 과 다를 수 있습니다. 이는 일반적으로 지오코딩 서비스 백엔드에서 다른 표준 주소 형식을 사용하거나 address 이 부분적으로만 채워진 경우에 발생합니다.

bounds 가 null이 아니고 유효한 QGeoShape 인 경우 bounds 에 포함된 결과로 제한하는 데 사용됩니다. address 이 부분적으로만 채워진 경우 서비스가 지정된 데이터에 대해 모든 일치 항목을 지오코딩하려고 시도하므로 특히 유용합니다.

반환된 회신 개체를 삭제할 책임은 사용자에게 있지만, QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::errorOccurred(), QGeoCodeReply::finished() 또는 QGeoCodeReply::errorOccurred()에 연결된 슬롯에서 deleteLater()를 사용하여 삭제할 수 있습니다.

[virtual] QGeoCodeReply *QGeoCodingManagerEngine::geocode(const QString &address, int limit, int offset, const QGeoShape &bounds)

address 와 일치하는 위치에 대한 지오코딩을 시작합니다.

지오코딩 작업을 관리하고 작업 결과를 반환하는 데 사용할 수 있는 QGeoCodeReply 객체가 반환됩니다.

이 엔진과 반환된 QGeoCodeReply 객체는 작업이 완료되었는지 또는 오류가 발생했는지를 나타내는 신호를 방출합니다.

작업이 완료되면 QGeoCodeReply::locations()를 사용하여 QGeoLocation 객체 목록으로 구성된 결과를 검색할 수 있습니다. 이러한 객체는 좌표와 주소 데이터의 조합을 나타냅니다.

limit 이 -1이면 전체 결과 집합이 반환되고, 그렇지 않으면 최대 limit 결과만 반환됩니다.

offset 매개변수는 지오코딩 서비스에 첫 번째 offset 결과를 반환하지 않도록 요청하는 데 사용됩니다.

limitoffset 결과는 페이징을 구현하는 데 함께 사용됩니다.

bounds 가 null이 아니고 유효한 QGeoShape 인 경우 bounds 에 포함된 결과로 제한하는 데 사용됩니다.

반환된 응답 객체를 삭제할 책임은 사용자에게 있지만 QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::errorOccurred(), QGeoCodeReply::finished() 또는 QGeoCodeReply::errorOccurred()에 연결된 슬롯에서 deleteLater()를 사용하여 삭제할 수 있습니다.

QLocale QGeoCodingManagerEngine::locale() const

결과에 사용할 언어에 대해 이 지오코딩 관리자에게 힌트를 주는 데 사용되는 로캘을 반환합니다.

setLocale()도 참조하세요 .

QString QGeoCodingManagerEngine::managerName() const

이 엔진 구현이 다른 플러그인에서 제공하는 구현과 구별하기 위해 사용하는 이름을 반환합니다.

managerName()과 managerVersion()의 조합은 플러그인 구현마다 고유해야 합니다.

int QGeoCodingManagerEngine::managerVersion() const

이 엔진 구현의 버전을 반환합니다.

managerName()와 managerVersion()의 조합은 플러그인 구현마다 고유해야 합니다.

[virtual] QGeoCodeReply *QGeoCodingManagerEngine::reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds)

coordinate 의 역지오코딩을 시작합니다. 역지오코딩은 주어진 좌표에 해당하는 주소를 찾는 프로세스입니다.

QGeoCodeReply 객체가 반환되며, 이 객체는 역지오코딩 작업을 관리하고 작업 결과를 반환하는 데 사용할 수 있습니다.

이 엔진과 반환된 QGeoCodeReply 객체는 작업이 완료되었는지 또는 오류가 발생했는지를 나타내는 신호를 방출합니다.

supportsReverseGeocoding()이 false를 반환하면 QGeoCodeReply::UnsupportedOptionError 이 발생합니다.

이때 QGeoCodeReply::locations()를 사용하여 QGeoLocation 객체 목록으로 구성된 결과를 검색할 수 있습니다. 이러한 객체는 좌표 데이터와 주소 데이터의 조합을 나타냅니다.

결과에 반환되는 좌표 데이터는 coordinate 과 다를 수 있습니다. 이는 일반적으로 역지오코딩 서비스 백엔드에서 좌표를 일치하는 주소에 더 가깝게 이동하거나 백엔드에서 여러 세부 수준의 결과를 반환하는 경우에 발생합니다.

역지오코딩 서비스 백엔드에서 여러 개의 결과를 반환하는 경우 특정성 순서대로 제공됩니다. 이는 일반적으로 백엔드가 여러 세부 수준에서 역지오코딩하도록 구성된 경우에 발생합니다. 예를 들어 일부 서비스는 주소, 도시, 주 및 국가에 대한 주소와 좌표 쌍을 반환합니다.

bounds 가 null이 아니고 유효한 QGeoShape 인 경우 bounds 에 포함된 결과로 제한하는 데 사용됩니다.

반환된 회신 개체를 삭제할 책임은 사용자에게 있지만, QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::errorOccurred(), QGeoCodeReply::finished() 또는 QGeoCodeReply::errorOccurred()에 연결된 슬롯에서 deleteLater()를 사용하여 삭제할 수 있습니다.

void QGeoCodingManagerEngine::setLocale(const QLocale &locale)

이 관리자가 사용할 로캘을 locale 로 설정합니다.

이 지오코딩 관리자가 다른 언어로 결과 반환을 지원하는 경우 locale 의 언어로 반환됩니다.

이 로캘을 설정하지 않으면 기본적으로 시스템 로캘이 사용됩니다.

locale()도 참조하세요 .

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