Qt Positioning 안드로이드 플러그인
개요
Qt Positioning 안드로이드 플러그인은 네이티브 안드로이드 API를 래핑하고 위치 및 위성 정보에 대한 액세스를 제공합니다.
플러그인은 공급자 이름 android를 사용하여 로드할 수 있습니다.
파라미터
다음 표에는 Android 플러그인에 전달할 수 있는 매개변수가 나열되어 있습니다.
파라미터 | 설명 |
---|---|
useMslAltitude | 이 파라미터는 Qt 6.8에 도입되었습니다. 플러그인이 평균 해수면(MSL) 이상의 고도를 제공하려고 시도할지 여부를 결정합니다. 기본값은 false 이며, 이는 고도를 WGS84 형식으로 제공한다는 의미입니다. 이 매개변수는 안드로이드 14 이상에만 해당됩니다. 자세한 내용은 고도 변환 섹션을 참조하세요. |
고도 변환
Android는 전통적으로 세계측지계 1984(WGS84) 기준 타원체 위의 고도를 제공합니다. 하지만 안드로이드 14부터 새로운 AltitudeConverter 클래스가 도입되었습니다. 이 클래스를 사용하면 WGS84 고도를 평균 해수면 위의 고도(MSL ) 형식으로 변환할 수 있습니다.
useMslAltitude
플러그인 파라미터가 true
로 설정되어 있고 애플리케이션이 Android 14 이상에서 실행 중인 경우, 위치 업데이트 중에 검색된 QGeoPositionInfo 객체의 QGeoCoordinate::altitude 구성 요소에 MSL 고도가 포함됩니다.
참고: Android 문서에 따르면 MSL 고도로 변환하는 데 몇 초가 걸릴 수 있습니다. 즉, 이 기능이 활성화된 경우 lastKnownPosition() 요청은 동기식 메서드이므로 더 오래 실행될 수 있습니다. 다른 위치 업데이트 요청은 영향을 받지 않습니다.
예제
다음 예제는 C++ 및 QML로 안드로이드 PositionSource 를 만드는 방법을 보여줍니다.
QML
다음 스니펫은 매개변수 없이 PositionSource 을 생성합니다. 고도는 WGS84 형식으로 보고됩니다.
PositionSource { name: "android" }
다음 스니펫은 useMslAltitude
PluginParameter 을 명시적으로 추가하고 해당 값을 true
로 설정합니다. 이 PositionSource 는 고도를 MSL 형식으로 보고합니다.
PositionSource { name: "android" PluginParameter { name: "useMslAltitude" value: true } }
C++
다음 스니펫은 C++를 사용하여 고도를 MSL 형식으로 보고하는 position source 을 만드는 방법을 보여줍니다.
QVariantMap params; params["useMslAltitude"] = true; QGeoPositionInfoSource *positionSource = QGeoPositionInfoSource::createSource("android", params, this);
© 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.