Spec-Zone.ru › Qt 5.9

Тип 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/qt-5.9/qml-qtlocation-mapquickitem.html

Spec-Zone.ru

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