Spec-Zone.ru › Qt 5.6

Тип QML MapQuickItem

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

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

Свойства

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

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

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

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

Позиционирование и размеры

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

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

Помимо привязки к карте, 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 будет выровнена с координатой на карте.

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/archives/qt-5.6/qml-qtlocation-mapquickitem.html

Spec-Zone.ru

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