Qt Positioning プラグイン
Qt Positioning は、その機能の大部分をプラグインを通じて提供する。このドキュメントでは、新しいポジションプラグインを開発する方法を概説します。
デフォルトのプラグイン
いくつかのプラグインはすでに Qt に同梱されています。これらは以下の通りです:
アンドロイド | Android位置決めサブシステムをラップします。Android でのみ利用可能。 |
コアロケーション | iOSとmacOSの測位サブシステムをラップします。corelocationをサポートするAppleプラットフォームでのみ利用可能。 |
geoclue2 | GeoClue v2D-Bus サービスへのインタフェースを提供するGeoClue v2バックエンド。 |
gypsy | Gypsy デーモンへのインタフェースを提供するGypsyバックエンド。 |
winrt | WinRT測位サブシステムをラップします。WinRTとWindows10でのみ利用可能。 |
nmea | GPS受信機からのNMEAストリームを解析し、位置更新を提供するNMEAバックエンドです。このプラグインは、シリアルポート、ソケット、ファイルをソースとして使用できます。 |
ポジションポール | 位置更新のポーリングによるエリアモニタリング機能のみを提供するバックエンド。 |
プラグインの説明
各プラグインはjsonファイルで記述されています。jsonにはプラグインの機能とバージョンが記述されています。以下は、postionpollプラグインが使用するjsonファイルの例です:
{ "Keys": ["positionpoll"], "Provider": "positionpoll", "Position": false, "Satellite": false, "Monitor": true, "Priority": 1000, "Testable": true }
各項目の意味は以下の通りです:
キー | 説明 |
---|---|
キー | プラグインの固有名/キー。各ポジション・プラグインは固有の名前を持つ必要があります。 |
プロバイダー | サービスのプロバイダー名。複数のプラグインが同じ名前を持つ場合があります。その場合、プラグインを区別するためにVersion文字列が使用されます。 |
位置 | プラグインがQGeoPositionInfoSource を実装している場合、true に設定します。 |
Satellite | プラグインがQGeoSatelliteInfoSource を実装している場合は、true に設定します。 |
モニター | プラグインがQGeoAreaMonitorSource を実装している場合、true に設定する。 |
優先度 | プラグインの優先順位。複数のプラグインが同じプロバイダ名を持つ場合、優先順位の高いプラグインが使用されます。 |
プラグインの実装
プラグインの実装者は、QGeoPositionInfoSourceFactory をサブクラス化し、1つ以上の関数をオーバーライドする必要があります。プラグインが特定の機能をサポートしていない場合、関数は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.