Spec-Zone.ru › Qt 5.15

Карты и навигация (QML)

Карты и навигация предоставляют типы пользовательского интерфейса QtQuick для отображения географической информации на карте, а также позволяют взаимодействовать с объектами наложения карты и самим отображением. Также он содержит утилиты для геокодирования (поиск географических координат по почтовому адресу) и навигации (включая маршруты на автомобиле и пешком).

Он основан на концепциях и типах API в QML API позиционирования. Более практическое введение в типы Карт и навигации можно найти в учебнике по Картам и навигации.

Карты

Отображение карт

Отображение карты осуществляется с помощью типов QML Map. Тип Map поддерживает взаимодействие пользователя с помощью типа QML MapGestureArea. Объект Map отображает карту на экране с использованием OpenGL (ES), что позволяет использовать ускорение аппаратного рендеринга, где это возможно.

Ключевые типы

Плагин Плагин служб местоположения предоставляет данные, включая данные карты, которые затем отображаются в объекте Map.
Карта Элемент QtQuick для отображения карты на экране.
MapGestureArea Помощник взаимодействия для панорамирования, отбрасывания и масштабирования с помощью двух пальцев на карте.

Обратите внимание, что клиент должен создать объект Плагин перед использованием типа Карта для доступа к данным карты для отображения.

Размещение объектов на карте (объекты наложения карты)

Карты также могут содержать объекты наложения карты, которые используются для отображения информации на ее поверхности. Существует набор основных предопределенных объектов наложения карты, а также возможность реализации пользовательских объектов наложения карты с помощью типа MapQuickItem, который может содержать любой стандартный элемент QtQuick.

Ключевые типы

MapCircle Географическая окружность (все точки на заданном расстоянии от центра), необязательно с границей.
MapRectangle Прямоугольник, верхняя левая и нижняя правая точки которого заданы как типы координат, необязательно с границей.
MapPolygon Многоугольник, образованный произвольным списком координат.
MapPolyline Полилиния, образованная произвольным списком координат.
MapQuickItem Преобразует любой произвольный элемент QtQuick в объект наложения карты. MapQuickItem позволяет указывать пользовательские объекты наложения карты.

Модель-Представление с объектами наложения карты

Для автоматической генерации объектов наложения карты на основе содержимого QtQuick модели (например, элемента ListModel), доступен тип MapItemView. Он принимает любой объект наложения карты в качестве делегата и может быть создан только внутри Map.

Ключевые типы

MapItemView Заполняет карту объектами наложения карты на основе данных, предоставленных моделью.

Взаимодействие с объектами наложения карты

Свойства объектов наложения карты, которые влияют на их отображение на дисплее, могут быть изменены в любое время, и многие из них также могут использоваться в анимации. Анимация объектов наложения карты, основанных на координатах, таких как MapPolygon и MapPolyline, пока недоступна.

Геокодирование — Адрес в координаты и обратно

Геокодирование — это преобразование географических координат в адреса или наоборот. Такое преобразование обычно включает отправку исходных данных на сервер, который выполняет преобразование и возвращает результаты, хотя некоторые поставщики служб местоположения плагины могут обеспечить некоторую функциональность геокодирования без отправки данных на удаленный сервер. Доступность и точность преобразования обычно зависит от местоположения или адреса, которые преобразуются, поскольку разные области Земли отображаются с различной точностью.

Запрос геокодирования в QML выполняется с помощью типа GeocodeModel. Для запроса «адрес в координаты» его свойство query может быть установлено либо на объект Address, либо на строку, содержащую текстовую форму адреса для поиска. Для выполнения обратного преобразования то же свойство может быть установлено на координату вместо этого. Результаты доступны в содержимом модели.

Ключевые типы

Плагин Плагин служб местоположения предоставляет данные, включая результаты геокодирования, которые предоставляются клиентам через GeocodeModel.
GeocodeModel Запрашивает у Плагина преобразования геокодирования и предоставляет доступ к результатам по индексам в модели.
Адрес Структурированный адрес для использования в запросах и результатах геокодирования.

Обратите внимание, что клиент должен создать объект Плагин перед использованием объекта GeocodeModel. Это позволит получить доступ к услугам геокодирования и, следовательно, данным для отображения.

Маршрутизация и навигация

Маршрутизация — это определение навигационного пути от одной точки к другой на карте. Учитывая карту, которая знает о функциях, которые помогают или препятствуют навигации, таких как мосты, водные пути и так далее, можно построить серию сегментов, составляющих маршрут. Если эти RouteSegment простые, то мы можем добавить информацию о навигации в точках соединения, RouteManeuver, между сегментами.

Ключевые типы

Маршрут Весь путь, который необходимо пройти.
Сегмент маршрута Отдельные компоненты маршрута.
Maneuver маршрута Информация о навигации, соединяющая сегменты.
RouteModel Способ отправки запросов на бэкенд для предоставления информации о маршруте.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/location-maps-qml.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API