Spec-Zone.ru › Qt 5.15

Тип QML MapQuickItem

Тип MapQuickItem отображает произвольный объект Qt Quick на карте. Подробнее...

Заявление об импорте: import QtLocation 5.15
С момента: QtLocation 5.5
  • Список всех членов, включая унаследованные

Свойства

  • anchorPoint : QPointF
  • autoFadeIn : bool
  • coordinate : coordinate
  • sourceItem : object
  • zoomLevel : real

Подробное описание

Тип MapQuickItem используется для размещения произвольного объекта Qt Quick на карте в указанном месте и размерах. По сравнению с отображением элемента поверх карты, MapQuickItem будет следовать за панорамированием (и, по желанию, масштабированием) карты так, как будто он находится на поверхности карты.

Свойство sourceItem содержит объект Qt Quick, который будет нарисован. Это может быть любой вид видимого типа.

Размещение и масштабирование

Размещение MapQuickItem на карте контролируется двумя свойствами: coordinate и anchorPoint. Если установлено только свойство coordinate, оно задаёт координату долготы/широты, где будет размещён элемент. Установленная координата будет совпадать с верхним левым углом содержащего элемента при отображении на экране.

Свойство anchorPoint позволяет выровнять координату с другими частями элемента, кроме верхнего левого угла, установив смещение в пикселях. Проще говоря, точка, заданная свойством anchorPoint на самом элементе, будет выровнена с заданной координатой при отображении.

Помимо привязки к карте, MapQuickItem может по желанию следовать за масштабом карты и изменять размер при масштабировании карты. Это поведение контролируется свойством zoomLevel. По умолчанию, если свойство zoomLevel не задано, элемент рисуется "на экране", а не "на карте", поэтому его размер остаётся неизменным независимо от уровня масштабирования карты.

Производительность

Производительность MapQuickItem, как правило, соответствует производительности содержащего Qt Quick элемента. Дополнительные накладные расходы связаны с переводом и (возможно) масштабированием исходного элемента, а также с преобразованием долготы и широты в координаты на экране.

Ограничения

Примечание: Из-за особенности реализации элементы, размещённые внутри MapQuickItem, будут иметь элемент parent, который не является MapQuickItem. Ссылайтесь на MapQuickItem по его id, и избегайте использования anchor в sourceItem.

Пример использования

Следующий фрагмент кода демонстрирует MapQuickItem, содержащий объект Image, для отображения метки на карте. Эта стратегия используется для отображения маркеров карты в примере MapViewer.

MapQuickItem {
    id: marker
    anchorPoint.x: image.width/4
    anchorPoint.y: image.height

    sourceItem: Image {
        id: image
    }
}

Документация по свойствам

anchorPoint : QPointF

Это свойство определяет, какая точка на sourceItem будет выровнена с координатой на карте.

autoFadeIn : bool

Это свойство указывает, будет ли элемент автоматически затухать при приближении к карте, начиная с очень низких уровней масштабирования. По умолчанию это true. Установка этого свойства в false заставляет элемент карты всегда иметь непрозрачность, указанную в свойстве QtQuick::Item::opacity, которая по умолчанию равна 1.0.

Это свойство было добавлено в Qt 5.14.

coordinate : coordinate

Это свойство содержит координату якоря MapQuickItem. Точка на sourceItem, указанная свойством anchorPoint, сохраняется выровненной с этой координатой при отображении на карте.

На изображении ниже показано 3 MapQuickItem, которые идентичны, за исключением значения их свойств anchorPoint. Значения anchorPoint для каждого элемента указаны над элементом.

sourceItem : object

Это свойство содержит исходный элемент, который будет нарисован на карте.

zoomLevel : real

Это свойство контролирует поведение масштабирования содержимого MapQuickItem. В частности, с помощью этого свойства можно выбирать между объектами, которые рисуются на экране (и имеют размер в пикселях экрана) и объектами, нарисованными на поверхности карты (которые изменяют размер при изменении уровня масштабирования карты).

Значение по умолчанию для этого свойства равно 0,0, что соответствует отображению объекта на поверхности экрана. Если оно установлено на другое значение, объект будет нарисован на поверхности карты. Значение (если оно не равно нулю) указывает уровень масштабирования, при котором объект будет виден в масштабе 1:1 (т. е. когда пиксели объекта и пиксели экрана одинаковы). При уровнях масштабирования ниже этого, объект будет отображаться меньше, а при более высоких уровнях масштабирования — больше. Это отличается от случая, когда это свойство установлено в ноль, где объект сохраняет тот же размер на экране при всех уровнях масштабирования.

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

Spec-Zone.ru

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