Spec-Zone.ru › Qt 5.14

Тип MapQuickItem QML

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

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

Свойства

  • anchorPoint : QPointF
  • autoFadeIn : bool
  • coordinate : координата
  • sourceItem : объект
  • zoomLevel : real

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

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

Свойство sourceItem содержит объект Qt Quick, который должен быть нарисован, который может быть любого типа, видимого в 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 : координата

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

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

sourceItem : объект

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

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.14/qml-qtlocation-mapquickitem.html

Spec-Zone.ru

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