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を返すか、デフォルトの実装を利用する必要があります。
©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。