マップとナビゲーション (QML)

Maps and Navigationは、地図上に地理情報を表示するための、QtQuick ユーザーインターフェイスタイプを提供し、また、地図のオーバーレイオブジェクトや表示自体とのユーザーインタラクションを可能にします。また、ジオコーディング(住所から地理座標を求める)やナビゲーション(運転や徒歩での案内を含む)のためのユーティリティも含まれています。

ナビゲーションを行うには、出発地から目的地までroute。これらのルートはセグメントで構成され、routeSegment はそれぞれナビゲーションのサブタスクとみなすことができる。各区間の始点と終点はウェイポイント、つまり旅の一部である。

APIの典型的なユースケースは、レストランなどの特定のタイプの場所を探しているユーザーです。ユーザーは検索文字列をマップアプリケーションに入力し、デバイスの "近く "にあるレストランの結果リストが表示されます。その後、このアプリケーションを使用して、旅に役立ちそうな、あるいは邪魔になりそうな環境の特徴に応じて最適化されたルートを使って、選択した目的地までナビゲートすることができる。ナビゲーションは、現在位置によってユーザーの進行状況をモニターしながら進む。

この型は、QML Positioning APIのAPIコンセプトと型をベースにしています。マップとナビゲーションの型について、より実践的な紹介はマップとナビゲーションチュートリアルにあります。

地図

地図の表示

地図の表示にはMap QML タイプを使用します。MapタイプはMapView QMLタイプを通してユーザーとのインタラクションをサポートします。MapオブジェクトはOpenGL (ES)を使って画面上にマップを描画します。

キータイプ

Plugin位置情報サービスプラグインは地図データを含むデータを提供し、Mapオブジェクトに表示します。
MapQtQuick 画面上に地図を表示するためのアイテム。
MapView地図上でパン、フリック、ピンチ・トゥ・ズームのジェスチャーを行うためのインタラクション・ヘルパー。

クライアントは、表示するマップデータにアクセスするために、Map タイプを使用する前に、Plugin オブジェクトを作成する必要があることに注意してください。

マップ上にオブジェクトを置く(マップ・オーバーレイ・オブジェクト)

マップはマップ・オーバーレイ・オブジェクトを含むことができます。あらかじめ定義された基本的なマップオーバーレイオブジェクトのセットと、MapQuickItem タイプを使ってカスタムマップオーバーレイオブジェクトを実装する機能があり、QtQuick の標準アイテムを含むことができます。

キータイプ

MapCircle地理的な円(中心から設定された距離にあるすべての点)。
MapRectangle左上点と右下点がcoordinate 型として指定された長方形。
MapPolygoncoordinates の任意のリストからなる多角形。
MapPolylinecoordinates の任意のリストからなる折れ線。
MapQuickItemQtQuick MapQuickItem は、カスタムマップオーバーレイオブジェクトを指定するためのイネーブラーです。

マップ・オーバーレイ・オブジェクトを使ったモデル・ビュー設計

QtQuick モデル(例えばListModel アイテム)の内容に基づいてマップ・オーバーレイ・オブジェクトを自動的に生成するために、MapItemView タイプが利用できます。これは、任意のマップ・オーバーレイ・オブジェクトをデリゲートとして受け入れ、Map 内でのみ作成することができます。

キータイプ

MapItemViewモデルによって提供されたデータに基づいて、マップ・オーバーレイ・オブジェクトをマップに入力します。

マップ・オーバーレイ・オブジェクトとの相互作用

マップ・オーバーレイ・オブジェクトのプロパティのうち、表示上の見た目に影響するものはいつでも変更でき、その多くはアニメーションでも使用できます。MapPolygonMapPolyline のような座標ベースのマップオーバーレイオブジェクトのアニメーションはまだ利用できません。

ジオコーディング - 住所から座標へ、またはその逆

ジオコーディングとは、地理座標を住所に、またはその逆に変換することです。このような変換は通常、ソースデータをサーバーに送信し、サーバーが変換を実行し、結果を返すことを含むが、ロケーションベースのサービスプロバイダplugins 、リモートサーバーにデータを送信せずにジオコーディング機能を提供できる場合もある。地球のさまざまな地域がさまざまな精度でマッピングされているため、翻訳の可用性と精度は通常、翻訳される場所や住所に依存します。

QMLのジオコーディングクエリはGeocodeModel 。住所から座標へのクエリの場合、query プロパティはAddress オブジェクトか、検索する住所のテキスト形式を含む文字列のどちらかに設定されます。逆を実行するには、同じプロパティをcoordinate に設定することができます。結果は、モデルのコンテンツで利用できるようになります。

キータイプ

Pluginロケーションベースサービスプラグインは、GeocodeModel を介してクライアントに公開されるジオコーディング翻訳結果を含むデータを提供する。
GeocodeModelプラグインにジオコーディング翻訳を問い合わせ、モデル内のインデックスを介して結果にアクセスできるようにする。
Addressジオコーディングの結果とクエリで使用するための構造化されたアドレス。

GeocodeModel オブジェクトを使用する前に、クライアントはPlugin オブジェクトを作成する必要があることに注意。これによって、ジオコーディング翻訳サービスにアクセスできるようになり、表示するデータが増える。

ルーティングとナビゲーション

ルーティングとは、地図上のある地点から別の地点へのナビゲート可能な経路を決定することである。橋や水路など、ナビゲーションを助けたり妨げたりする特徴を認識した地図があれば、旅を構成する一連のセグメントを構築することができる。これらのrouteSegmentが単純であれば、セグメント間の接続点(routeManeuver)にナビゲーション情報を追加することができる。

キーの種類

routeナビゲートする経路全体。
routeSegmentルートを構成する個々の要素。
routeManeuverセグメントをつなぐナビゲーション情報。
RouteModelルート情報を提供するためにバックエンドにリクエストする手段。

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