이 페이지에서

QGeoServiceProvider Class

QGeoServiceProvider 클래스는 지리 정보를 제공하는 서비스에 대한 액세스를 통합합니다. 더 보기...

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

공개 유형

enum Error { NoError, NotSupportedError, UnknownParameterError, MissingRequiredParameterError, ConnectionError, LoaderError }
enum GeocodingFeature { NoGeocodingFeatures, OnlineGeocodingFeature, OfflineGeocodingFeature, ReverseGeocodingFeature, LocalizedGeocodingFeature, AnyGeocodingFeatures }
flags GeocodingFeatures
enum MappingFeature { NoMappingFeatures, OnlineMappingFeature, OfflineMappingFeature, LocalizedMappingFeature, AnyMappingFeatures }
flags MappingFeatures
enum NavigationFeature { NoNavigationFeatures, OnlineNavigationFeature, OfflineNavigationFeature, AnyNavigationFeatures }
flags NavigationFeatures
enum PlacesFeature { NoPlacesFeatures, OnlinePlacesFeature, OfflinePlacesFeature, SavePlaceFeature, RemovePlaceFeature, …, AnyPlacesFeatures }
flags PlacesFeatures
enum RoutingFeature { NoRoutingFeatures, OnlineRoutingFeature, OfflineRoutingFeature, LocalizedRoutingFeature, RouteUpdatesFeature, …, AnyRoutingFeatures }
flags RoutingFeatures

공개 함수

QGeoServiceProvider(const QString &providerName, const QVariantMap &parameters = QVariantMap(), bool allowExperimental = false)
virtual ~QGeoServiceProvider()
QGeoServiceProvider::Error error() const
QString errorString() const
QGeoServiceProvider::Error geocodingError() const
QString geocodingErrorString() const
QGeoServiceProvider::GeocodingFeatures geocodingFeatures() const
QGeoCodingManager *geocodingManager() const
QGeoServiceProvider::Error mappingError() const
QString mappingErrorString() const
QGeoServiceProvider::MappingFeatures mappingFeatures() const
QGeoServiceProvider::Error navigationError() const
QString navigationErrorString() const
(since QtLocation 5.11) QGeoServiceProvider::NavigationFeatures navigationFeatures() const
QPlaceManager *placeManager() const
QGeoServiceProvider::Error placesError() const
QString placesErrorString() const
QGeoServiceProvider::PlacesFeatures placesFeatures() const
QGeoServiceProvider::Error routingError() const
QString routingErrorString() const
QGeoServiceProvider::RoutingFeatures routingFeatures() const
QGeoRoutingManager *routingManager() const
void setAllowExperimental(bool allow)
void setLocale(const QLocale &locale)
void setParameters(const QVariantMap &parameters)

정적 공용 멤버

상세 설명

Maps and Navigation API를 사용하면 지오코딩, 경로 계산 및 지도 표시 기능을 포함하여 다양한 종류의 지리 정보에 액세스할 수 있습니다. QGeoServiceProvider는 단일 공급자가 제공하는 이러한 서비스 세트에 대한 액세스를 통합합니다.

다양한 영역에 대해 서비스 제공자를 혼합하여 사용할 수 있으므로, 한 서비스 제공자의 지오코딩 관리자를 다른 서비스 제공자의 지리적 경로 설정 관리자와 함께 사용할 수 있습니다.

기본 데이터 세트의 차이로 인해 서비스 간에 심각한 불일치가 발생할 수 있으므로, 클라이언트가 서로 다른 서비스에서 제공하는 데이터의 호환성을 확인할 수 없는 한 이러한 조합은 권장되지 않습니다.

QGeoServiceProvider의 서브클래스는 자신이 제공하는 서로 다른 서비스들이 상호 운용 가능함을 보장합니다.

각 서비스 제공자는 서비스별 매개변수 이름/키에 대한 명명 규칙을 따라야 합니다. 모든 매개변수 이름의 접두사로 제공자 이름을 사용합니다. 제공자가 로드될 때, 매개변수 이름이 제공자 이름으로 시작하는 매개변수만 전달됩니다. 이를 통해 기밀 token 또는 app_id 매개변수와 같은 민감한 매개변수가 다른 플러그인과 공유되는 것을 방지할 수 있습니다.

사용 가능한 매개변수 이름/키 및 값의 전체 목록을 확인하려면 GeoServices 플러그인 전용 문서를 참조하십시오.

멤버 유형 설명서

enum QGeoServiceProvider::Error

서비스 제공자 플러그인의 로딩 및 설정과 관련된 오류를 설명합니다.

상수값설명
QGeoServiceProvider::NoError0오류가 발생하지 않았습니다.
QGeoServiceProvider::NotSupportedError1플러그인이 이 기능을 지원하지 않습니다.
QGeoServiceProvider::UnknownParameterError2플러그인이 전달받은 매개변수 중 하나를 인식하지 못했습니다.
QGeoServiceProvider::MissingRequiredParameterError3플러그인이 예상했던 매개변수 중 하나를 찾지 못했습니다.
QGeoServiceProvider::ConnectionError4플러그인이 백엔드 서비스나 데이터베이스에 연결할 수 없습니다.
QGeoServiceProvider::LoaderError5플러그인을 불러오는 데 실패했습니다.

enum QGeoServiceProvider::GeocodingFeature
flags QGeoServiceProvider::GeocodingFeatures

지오 서비스 제공자가 지원하는 지오코딩 기능을 설명합니다.

상수값설명
QGeoServiceProvider::NoGeocodingFeatures0지오코딩 기능이 지원되지 않습니다.
QGeoServiceProvider::OnlineGeocodingFeature(1<<0)온라인 지오코딩이 지원됩니다.
QGeoServiceProvider::OfflineGeocodingFeature(1<<1)오프라인 지오코딩이 지원됩니다.
QGeoServiceProvider::ReverseGeocodingFeature(1<<2)역지오코딩이 지원됩니다.
QGeoServiceProvider::LocalizedGeocodingFeature(1<<3)지역화된 주소가 포함된 지오코딩 결과를 반환합니다.
QGeoServiceProvider::AnyGeocodingFeatures~(0)지오코딩 기능을 제공하는 지오 서비스 제공자와 일치합니다.

GeocodingFeatures 유형은 QFlags<GeocodingFeature>에 대한 typedef입니다. 이 유형은 GeocodingFeature 값들의 OR 조합을 저장합니다.

enum QGeoServiceProvider::MappingFeature
flags QGeoServiceProvider::MappingFeatures

지오 서비스 제공자가 지원하는 매핑 기능을 설명합니다.

상수값설명
QGeoServiceProvider::NoMappingFeatures0지도 기능은 지원되지 않습니다.
QGeoServiceProvider::OnlineMappingFeature(1<<0)온라인 매핑이 지원됩니다.
QGeoServiceProvider::OfflineMappingFeature(1<<1)오프라인 매핑이 지원됩니다.
QGeoServiceProvider::LocalizedMappingFeature(1<<2)지역화된 지도 데이터 반환을 지원합니다.
QGeoServiceProvider::AnyMappingFeatures~(0)어떤 매핑 기능이라도 제공하는 지리 서비스 공급자와 일치합니다.

MappingFeatures 유형은 QFlags<MappingFeature>에 대한 typedef입니다. 이 유형은 MappingFeature 값들의 OR 조합을 저장합니다.

지리 정보 서비스 제공자가 지원하는 탐색 기능을 설명합니다.

상수값설명
QGeoServiceProvider::NoNavigationFeatures0내비게이션 기능이 지원되지 않습니다.
QGeoServiceProvider::OnlineNavigationFeature(1<<0)온라인 내비게이션이 지원됩니다.
QGeoServiceProvider::OfflineNavigationFeature(1<<1)오프라인 내비게이션이 지원됩니다.
QGeoServiceProvider::AnyNavigationFeatures~(0)어떤 내비게이션 기능이라도 제공하는 지리 서비스 제공자와 일치합니다.

NavigationFeatures 유형은 QFlags<NavigationFeature>에 대한 typedef입니다. 이 유형은 NavigationFeature 값들의 OR 조합을 저장합니다.

enum QGeoServiceProvider::PlacesFeature
flags QGeoServiceProvider::PlacesFeatures

지리 정보 서비스 제공자가 지원하는 장소 기능을 설명합니다.

상수값설명
QGeoServiceProvider::NoPlacesFeatures0장소 기능은 지원되지 않습니다.
QGeoServiceProvider::OnlinePlacesFeature(1<<0)온라인 장소가 지원됩니다.
QGeoServiceProvider::OfflinePlacesFeature(1<<1)오프라인 장소 기능이 지원됩니다.
QGeoServiceProvider::SavePlaceFeature(1<<2)장소 저장이 지원됩니다.
QGeoServiceProvider::RemovePlaceFeature(1<<3)장소 제거 또는 삭제가 지원됩니다.
QGeoServiceProvider::SaveCategoryFeature(1<<4)카테고리 저장이 지원됩니다.
QGeoServiceProvider::RemoveCategoryFeature(1<<5)카테고리 제거 또는 삭제가 지원됩니다.
QGeoServiceProvider::PlaceRecommendationsFeature(1<<6)다른 장소와 유사한 추천 장소를 검색할 수 있습니다.
QGeoServiceProvider::SearchSuggestionsFeature(1<<7)검색 제안 기능이 지원됩니다.
QGeoServiceProvider::LocalizedPlacesFeature(1<<8)지역화된 장소 데이터를 반환하는 기능을 지원합니다.
QGeoServiceProvider::NotificationsFeature(1<<9)장소 및 카테고리 변경 알림이 지원됩니다.
QGeoServiceProvider::PlaceMatchingFeature(1<<10)두 개의 서로 다른 지리 정보 서비스 제공업체의 장소를 매칭하는 기능을 지원합니다.
QGeoServiceProvider::AnyPlacesFeatures~(0)장소 기능을 제공하는 지리 정보 서비스 제공업체를 매칭합니다.

PlacesFeatures 유형은 QFlags<PlacesFeature>에 대한 typedef입니다. 이 유형은 PlacesFeature 값들의 OR 조합을 저장합니다.

enum QGeoServiceProvider::RoutingFeature
flags QGeoServiceProvider::RoutingFeatures

지리 정보 서비스 제공자가 지원하는 라우팅 기능을 설명합니다.

상수값설명
QGeoServiceProvider::NoRoutingFeatures0라우팅 기능이 지원되지 않습니다.
QGeoServiceProvider::OnlineRoutingFeature(1<<0)온라인 경로 계산이 지원됩니다.
QGeoServiceProvider::OfflineRoutingFeature(1<<1)오프라인 경로 안내가 지원됩니다.
QGeoServiceProvider::LocalizedRoutingFeature(1<<2)지역화된 주소 및 안내가 포함된 경로 반환을 지원합니다.
QGeoServiceProvider::RouteUpdatesFeature(1<<3)현재 위치를 기반으로 기존 경로를 업데이트하는 기능이 지원됩니다.
QGeoServiceProvider::AlternativeRoutesFeature(1<<4)대체 경로를 반환하는 기능을 지원합니다.
QGeoServiceProvider::ExcludeAreasRoutingFeature(1<<5)반환된 경로가 통과해서는 안 되는 구역을 지정할 수 있습니다.
QGeoServiceProvider::AnyRoutingFeatures~(0)어떤 경로 안내 기능을 제공하는 지리 정보 서비스 제공자와도 호환됩니다.

RoutingFeatures 유형은 QFlags<RoutingFeature>에 대한 typedef입니다. 이 유형은 RoutingFeature 값들의 OR 조합을 저장합니다.

멤버 함수 설명서

QGeoServiceProvider::QGeoServiceProvider(const QString &providerName, const QVariantMap &parameters = QVariantMap(), bool allowExperimental = false)

제공된 ` parameters`를 사용하여, 백엔드 이름이 ` providerName`인 `QGeoServiceProvider`를 생성합니다.

여러 플러그인이 동일한 providerName 를 가지는 경우, providerVersion() 값이 가장 높은 플러그인이 사용됩니다.

allowExperimental 가 true인 경우, 실험용으로 표시된 플러그인이 사용될 수 있습니다. 기본적으로 실험용 플러그인은 고려되지 않습니다.

providerName 과 일치하는 플러그인을 로드할 수 없는 경우, error() 및 errorString()가 그 원인에 대한 세부 정보를 제공합니다.

참고: parameters 목록이 로드될 제공자 플러그인으로 전달되기전에 , 관련 없는 제공자 플러그인과 플러그인별 매개변수가 공유되는 것을 방지하기 위해 목록이 필터링됩니다. 플러그인별 매개변수 키에는 제공자 이름(예: here.app_id)이 접두사로 붙어야 합니다.

[virtual noexcept] QGeoServiceProvider::~QGeoServiceProvider()

서비스 제공자 객체를 삭제합니다.

[static] QStringList QGeoServiceProvider::availableServiceProviders()

QGeoServiceProvider 생성자와 함께 사용할 수 있는 서비스 제공자의 이름 목록을 반환합니다.

QGeoServiceProvider::Error QGeoServiceProvider::error() const

이 클래스에서 수행된 마지막 작업 중에 발생한 오류를 설명하는 오류 코드를 반환합니다.

QString QGeoServiceProvider::errorString() const

이 클래스에서 수행된 마지막 작업 중에 발생한 오류를 설명하는 문자열을 반환합니다.

QGeoServiceProvider::Error QGeoServiceProvider::geocodingError() const

지오코딩 관리자를 생성하려는 마지막 시도 중에 발생한 오류를 설명하는 오류 코드를 반환합니다.

QString QGeoServiceProvider::geocodingErrorString() const

지오코딩 관리자를 생성하려던 마지막 시도 중에 발생한 오류를 설명하는 문자열을 반환합니다.

QGeoServiceProvider::GeocodingFeatures QGeoServiceProvider::geocodingFeatures() const

지오 서비스 제공자가 지원하는 지오코딩 기능을 반환합니다.

QGeoCodingManager *QGeoServiceProvider::geocodingManager() const

서비스 제공자가 제공하는 QGeoCodingManager 를 반환합니다.

서비스 제공자가 지오코딩 서비스를 전혀 제공하지 않는 경우, 이 함수는 ` nullptr `를 반환합니다.

이 함수는 처음 호출될 때 QGeoCodingManager 인스턴스를 생성하려고 시도합니다. 생성 시도가 성공하면 QGeoCodingManager 가 캐시되며, 그렇지 않은 경우 이 함수가 호출될 때마다 생성 시도가 성공할 때까지 QGeoCodingManager 인스턴스를 생성하려고 시도합니다.

QGeoCodingManager 는 이 QGeoServiceProvider 가 소유하고 있으므로 별도로 삭제해서는 안 됩니다. 사용자는 QGeoServiceProvider 를 삭제하면 이 메서드가 반환한 포인터가 무효화된다고 간주해야 합니다.

이 함수가 호출된 후, ` error()` 및 ` errorString()`은 ` QGeoCodingManager` 생성 과정에서 발생한 오류를 보고합니다.

QGeoServiceProvider::Error QGeoServiceProvider::mappingError() const

매핑 관리자를 생성하려던 마지막 시도 중에 발생한 오류를 설명하는 오류 코드를 반환합니다.

QString QGeoServiceProvider::mappingErrorString() const

매핑 관리자를 생성하려던 마지막 시도 중에 발생한 오류를 설명하는 문자열을 반환합니다.

QGeoServiceProvider::MappingFeatures QGeoServiceProvider::mappingFeatures() const

지오 서비스 제공자가 지원하는 매핑 기능을 반환합니다.

마지막으로 네비게이션 관리자를 생성하려 했을 때 발생한 오류를 설명하는 오류 코드를 반환합니다.

마지막으로 네비게이션 매니저를 생성하려 했을 때 발생한 오류를 설명하는 문자열을 반환합니다.

지오 서비스 제공자가 지원하는 내비게이션 기능을 반환합니다.

이 함수는 QtLocation 5.11에서 도입되었습니다.

QPlaceManager *QGeoServiceProvider::placeManager() const

서비스 제공자가 제공하는 QPlaceManager 객체를 반환합니다.

이 함수는 처음 호출될 때 QPlaceManager 인스턴스를 생성하려고 시도합니다. 생성 시도가 성공하면 QPlaceManager 가 캐시에 저장되며, 그렇지 않은 경우 이 함수가 호출될 때마다 생성 시도가 성공할 때까지 QPlace 인스턴스를 생성하려고 시도합니다.

QGeoPlaceManager는 이 QGeoServiceProvider 가 소유하고 있으므로 별도로 삭제해서는 안 됩니다. 사용자는 QGeoServiceProvider 를 삭제하면 이 메서드가 반환한 포인터가 무효화된다고 간주해야 합니다.

이 함수가 호출된 후, ` error()` 및 ` errorString()`는 ` QPlaceManager` 생성 과정에서 발생한 모든 오류를 보고합니다.

QGeoServiceProvider::Error QGeoServiceProvider::placesError() const

장소 관리자를 생성하려던 마지막 시도 중에 발생한 오류를 설명하는 오류 코드를 반환합니다.

QString QGeoServiceProvider::placesErrorString() const

마지막으로 장소 관리자를 생성하려 했을 때 발생한 오류를 설명하는 문자열을 반환합니다.

QGeoServiceProvider::PlacesFeatures QGeoServiceProvider::placesFeatures() const

지오 서비스 제공자가 지원하는 장소 피처들을 반환합니다.

QGeoServiceProvider::Error QGeoServiceProvider::routingError() const

마지막으로 라우팅 관리자를 생성하려 했을 때 발생한 오류를 설명하는 오류 코드를 반환합니다.

QString QGeoServiceProvider::routingErrorString() const

마지막으로 라우팅 관리자를 생성하려 했을 때 발생한 오류를 설명하는 문자열을 반환합니다.

QGeoServiceProvider::RoutingFeatures QGeoServiceProvider::routingFeatures() const

지오 서비스 제공자가 지원하는 라우팅 기능을 반환합니다.

QGeoRoutingManager *QGeoServiceProvider::routingManager() const

서비스 제공자가 제공하는 지리적 라우팅 서비스( QGeoRoutingManager )를 반환합니다.

서비스 제공자가 지리적 라우팅 서비스를 제공하지 않는 경우, 이 함수는 ` nullptr `를 반환합니다.

이 함수는 처음 호출될 때 QGeoRoutingManager 인스턴스를 생성하려고 시도합니다. 생성 시도가 성공하면 QGeoRoutingManager 이 캐시되며, 그렇지 않은 경우 이 함수가 호출될 때마다 생성 시도가 성공할 때까지 QGeoRoutingManager 인스턴스를 생성하려고 시도합니다.

QGeoRoutingManager 는 이 QGeoServiceProvider 가 소유하고 있으므로 별도로 삭제해서는 안 됩니다. 사용자는 QGeoServiceProvider 를 삭제하면 이 메서드가 반환한 포인터가 무효화된다고 간주해야 합니다.

이 함수가 호출된 후, ` error()` 및 ` errorString()`은 ` QGeoRoutingManager` 생성 과정에서 발생한 모든 오류를 보고합니다.

void QGeoServiceProvider::setAllowExperimental(bool allow)

이 서비스 제공자에 대한 올바른 플러그인 라이브러리를 찾을 때 실험용 플러그인을 고려할지 여부를 allow 에 설정합니다.

중요: 이 메서드를 호출하면 이 서비스 제공자 인스턴스가 보유한 기존 관리자(manager)가 모두 삭제됩니다. 이 메서드를 호출한 후에는 이전에 가져온 포인터를 절대 사용하지 않도록 주의해야 합니다.

void QGeoServiceProvider::setLocale(const QLocale &locale)

이 서비스 제공자가 사용하는 로케일을 locale 로 설정합니다. 관련 기능( LocalizedMappingFeature 등 참조)이 활성화된 경우, 이 설정으로 인해 제공자의 데이터에 포함된 언어, 단위 및 기타 로케일 관련 속성이 변경됩니다.

void QGeoServiceProvider::setParameters(const QVariantMap &parameters)

이 서비스 제공자에 대한 개별 관리자 클래스를 생성하는 데 사용되는 매개변수를 parameters 로 설정합니다.

parameters 목록이 로드될 서비스 제공자에게 전달되기 전에, 관련 없는 서비스 제공자와 제공자별 매개변수가 공유되는 것을 방지하기 위해 목록이 필터링됩니다. 제공자별 매개변수 키에는 제공자 이름이 접두사로 붙어야 합니다(예: here.app_id).

중요: 이 메서드를 호출하면 해당 서비스 제공자 인스턴스가 보유하고 있는 기존 관리자(manager)가 모두 삭제됩니다. 이 메서드를 호출한 후에는 이전에 가져온 포인터를 절대 사용하지 않도록 주의해야 합니다.

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