Qt Location ジオサービス
Qt Location は、その機能の大部分を GeoService プラグインを通して提供します。このドキュメントでは、新しい GeoService プラグインの開発方法の概要を説明します。
プラグインの説明
各プラグインは json ファイルで記述されます。json にはプラグインの機能とバージョンが記述されています。以下は、OpenStreenMap プラグインが使用する json ファイルの例です:
{ "Keys": ["osm"], "Provider": "osm", "Version": 100, "Experimental": false, "Features": [ "OnlineMappingFeature", "OnlineGeocodingFeature", "ReverseGeocodingFeature", "OnlineRoutingFeature", "OnlinePlacesFeature" ] }
エントリーの意味は以下の通り:
キー | 説明 |
---|---|
キー | プラグインの一意の名前/キー。各 GeoService プラグインには固有の名前が必要です。 |
プロバイダー | サービスのプロバイダー名.複数のプラグインが同じ名前を持つ場合があります。その場合、プラグインをさらに区別するために Version 文字列が使用されます。 |
実験的 | サービスプラグインを実験的なものとしてマークします。API 開発者は、QGeoServiceProvider::QGeoServiceProvider() をインスタンス化する際に、このようなプラグインを無視することができます。 |
バージョン | プラグインのバージョン。複数のプラグインが同じプロバイダ名を持つ場合、最もバージョンの高いプラグインが使用されます。 |
機能 | プラグイン/サービスが提供する機能のリスト。各機能は、QGeoServiceProvider の対応する機能の文字列表現です。詳細はQGeoServiceProvider::routingFeatures(),QGeoServiceProvider::geocodingFeatures(),QGeoServiceProvider::placesFeatures() を参照。 |
プラグインの実装
プラグインの実装者は、QGeoServiceProviderFactory と、実装を提供したい数だけ ManagerEngine クラスをサブクラス化する必要があります。
QGeoServiceProviderFactory をサブクラス化することは、以下のメソッドの 1 つをオーバーライ ドすることを含むだけです:
- QGeoServiceProviderFactory::createGeocodingManagerEngine()
- QGeoServiceProviderFactory::createRoutingManagerEngine()
- QGeoServiceProviderFactory::createPlaceManagerEngine()
プラグインがエンジンを提供しない場合、関連する関数はnullptr
を返す必要があります。
ジオコーディング操作のサポートを提供したい QGeoServiceProvider プラグインの実装者に対するインターフェイスと便利なメソッド | |
地理ルーティング情報へのアクセスを提供したい QGeoServiceProvider プラグインの実装 者向けのインタフェースと便利なメソッド | |
場所機能へのアクセスを提供したい QGeoServiceProvider プラグインの実装者向けインターフェイス |
©2024 The Qt Company Ltd. ここに含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。