Qt Positioning 플러그인

Qt Positioning 은 대부분의 기능을 플러그인을 통해 제공합니다. 이 문서에서는 새 포지션 플러그인을 개발하는 방법을 간략하게 설명합니다.

기본 플러그인

일부 플러그인은 이미 Qt와 함께 제공됩니다. 이들은 다음과 같습니다:

android안드로이드 포지셔닝 서브시스템을 감싸줍니다. 안드로이드에서만 사용할 수 있습니다.
corelocationiOS 및 macOS 포지셔닝 하위 시스템을 래핑합니다. 코어로케이션을 지원하는 Apple 플랫폼에서만 사용할 수 있습니다.
geoclue2지오클루 v2 D-Bus 서비스에 대한 인터페이스를 제공하는 지오클루 v2 백엔드입니다.
gypsy집시 데몬에 대한 인터페이스를 제공하는 집시 백엔드입니다.
winrtWinRT 포지셔닝 하위 시스템을 래핑합니다. WinRT 및 Windows10에서만 사용할 수 있습니다.
nmeaGPS 수신기의 NMEA 스트림을 파싱하여 위치 업데이트를 제공하는 NMEA 백엔드입니다. 이 플러그인은 직렬 포트, 소켓 또는 파일을 소스로 사용할 수 있습니다.
positionpoll위치 업데이트에 대한 폴링을 통해 영역 모니터링 기능만 제공하는 백엔드입니다.

플러그인 설명

각 플러그인은 json 파일로 설명됩니다. json에는 플러그인 기능과 버전이 설명되어 있습니다. 아래는 postionpoll 플러그인에서 사용하는 json 파일의 예입니다:

{
    "Keys": ["positionpoll"],
    "Provider": "positionpoll",
    "Position": false,
    "Satellite": false,
    "Monitor": true,
    "Priority": 1000,
    "Testable": true
}

각 항목의 의미는 다음과 같습니다:

설명
플러그인의 고유한 이름/키입니다. 각 포지션 플러그인에는 고유한 이름이 있어야 합니다.
공급자서비스의 공급자 이름입니다. 여러 플러그인이 같은 이름을 가질 수 있습니다. 이러한 경우 버전 문자열을 사용하여 플러그인을 더 구분합니다.
위치플러그인이 QGeoPositionInfoSource 을 구현하는 경우 true 로 설정합니다.
Satellite플러그인이 QGeoSatelliteInfoSource 을 구현하는 경우 true 으로 설정합니다.
Monitor플러그인이 QGeoAreaMonitorSource 을 구현하는 경우 true 로 설정합니다.
우선순위플러그인 우선순위입니다. 여러 플러그인의 공급자 이름이 동일한 경우 우선순위가 가장 높은 플러그인이 사용됩니다.

플러그인 구현하기

플러그인 구현자는 QGeoPositionInfoSourceFactory 을 서브클래싱하고 하나 이상의 함수를 재정의해야 합니다. 플러그인이 특정 기능을 지원하지 않는 경우 함수는 0을 반환하거나 기본 구현을 활용해야 합니다.

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