Qt Positioning 플러그인
Qt Positioning 는 대부분의 기능을 플러그인을 통해 제공합니다. 이 문서는 새로운 위치 플러그인을 개발하는 방법을 설명합니다.
기본 제공 플러그인
일부 플러그인은 Qt에 기본으로 포함되어 있습니다. 다음과 같습니다:
| android | Android 위치 파악 서브시스템을 래핑합니다. Android에서만 사용할 수 있습니다. |
| corelocation | iOS 및 macOS 위치 정보 서브시스템을 래핑합니다. Corelocation을 지원하는 Apple 플랫폼에서만 사용할 수 있습니다. |
| geoclue2 | GeoClue v2 D-Bus 서비스에 대한 인터페이스를 제공하는 GeoClue v2 백엔드입니다. |
| gypsy | Gypsy 데몬에 대한 인터페이스를 제공하는 Gypsy 백엔드입니다. |
| winrt | WinRT 위치 파악 하위 시스템을 래핑합니다. WinRT 및 Windows 10에서만 사용할 수 있습니다. |
| nmea | GPS 수신기에서 전송되는 NMEA 스트림을 파싱하여 위치 정보를 업데이트하는 NMEA 백엔드입니다. 이 플러그인은 시리얼 포트, 소켓 또는 파일을 소스로 사용할 수 있습니다. |
| positionpoll | 위치 업데이트에 대한 폴링을 통해 영역 모니터링 기능만을 제공하는 백엔드입니다. |
플러그인 설명
각 플러그인은 JSON 파일로 정의됩니다. 이 JSON 파일은 플러그인의 기능과 버전을 기술합니다. 다음은 positionpoll 플러그인에서 사용하는 JSON 파일의 예시입니다:
{
"Keys": ["positionpoll"],
"Provider": "positionpoll",
"Position": false,
"Satellite": false,
"Monitor": true,
"Priority": 1000,
"Testable": true
}각 항목의 의미는 다음과 같습니다:
| 키 | 설명 |
|---|---|
| 키 | 플러그인의 고유한 이름/키입니다. 각 위치 플러그인은 고유한 이름을 가져야 합니다. |
| 제공자 | 서비스의 제공자 이름입니다. 여러 플러그인이 동일한 이름을 가질 수 있습니다. 이러한 경우, '버전' 문자열을 사용하여 플러그인을 더 세분화하여 구분합니다. |
| 위치 | 플러그인이 위치 서비스( QGeoPositionInfoSource)를 구현하는 경우, ‘ true ’로 설정하십시오. |
| 위성 | 플러그인이 QGeoSatelliteInfoSource 를 구현하는 경우 ‘ true ’로 설정합니다. |
| 모니터 | 플러그인이 QGeoAreaMonitorSource 를 구현하는 경우 true 로 설정하십시오. |
| 우선순위 | 플러그인의 우선순위입니다. 동일한 제공자 이름을 가진 플러그인이 여러 개 있는 경우, 우선순위가 가장 높은 플러그인이 사용됩니다. |
플러그인 구현
플러그인 구현자는 ` QGeoPositionInfoSourceFactory `을 상속받은 서브클래스를 만들고, 해당 클래스의 하나 이상의 함수를 재정의해야 합니다. 플러그인이 특정 기능을 지원하지 않는 경우, 해당 함수는 0을 반환하거나 기본 구현을 사용해야 합니다.
© 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.