Spec-Zone.ru › Qt 5.15

Тип MapPolygon QML

Тип MapPolygon отображает многоугольник на карте. Подробнее...

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

Свойства

  • autoFadeIn : bool
  • backend : MapPolygon.Backend
  • border
    • border.color : цвет
    • border.width : int
  • color : цвет
  • path : список<координата>

Методы

  • void addCoordinate(координата)
  • void removeCoordinate(координата)

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

Тип MapPolygon отображает многоугольник на карте, заданный в виде упорядоченного списка координат. Для лучшего отображения и результатов многоугольники должны быть простыми (не самопересекающимися).

После добавления в многоугольник координаты пути их напрямую изменить нельзя. Вместо этого скопируйте путь в переменную, измените копию и присвойте копию обратно пути.

var path = mapPolygon.path;
path[0].latitude = 5;
mapPolygon.path = path;

Координаты также можно добавлять и удалять в любое время с помощью методов addCoordinate и removeCoordinate.

Для рисования прямоугольников с «прямыми» сторонами (одинаковая широта по одной стороне, одинаковая широта по другой) тип MapRectangle предоставляет более простой двухточечный API.

По умолчанию многоугольник отображается в виде черной границы шириной 1 пиксель без заливки. Чтобы изменить его внешний вид, используйте свойства color, border.color и border.width.

Примечание: Поскольку MapPolygon являются географическими элементами, перетаскивание MapPolygon (с помощью MouseArea) приводит к перерасчету его вершин в географическом пространстве координат. Стороны сохраняют те же географические длины (различия широты и долготы между вершинами), но остаются прямыми. Видимое растяжение элемента происходит при перетаскивании в другую широту.

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

MapPolygons имеют стоимость отрисовки, которая составляет O(n) по отношению к количеству вершин. Это означает, что стоимость за кадр для отображения Polygon на карте растет прямо пропорционально количеству точек в Polygon. Существует дополнительная стоимость триангуляции (приблизительно O(n log n)), которая в настоящее время оплачивается за каждый кадр, но в будущем может оплачиваться только при добавлении или удалении точек.

Как и другие объекты карты, MapPolygon обычно отображаются без гладкой отрисовки. Установка свойства opacity заставит объект смешиваться, что значительно снижает производительность в зависимости от используемого оборудования.

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

Следующий фрагмент кода демонстрирует использование MapPolygon для отображения треугольника с тремя вершинами около Брисбена, Австралия. Треугольник залит зеленым цветом с черной границей шириной 1 пиксель.

Map {
    MapPolygon {
        color: 'green'
        path: [
            { latitude: -27, longitude: 153.0 },
            { latitude: -27, longitude: 154.1 },
            { latitude: -28, longitude: 153.5 }
        ]
    }
}

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

autoFadeIn : bool

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

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

backend : MapPolygon.Backend

Это свойство указывает, какой бэкенд используется для отрисовки элемента карты. Допустимые значения: MapPolygon.Software и MapPolygon.OpenGL. Значение по умолчанию — MapPolygon.Software.

Примечание: Выпуск этой API с Qt 5.15 — это предварительный просмотр технологии. В идеале, по мере развития OpenGL-бэкендов для элементов карты, больше не потребуется предлагать бэкенд для программной проекции. Поэтому это свойство, вероятно, исчезнет в какой-то момент. Чтобы выбрать OpenGL-ускоренные бэкенды элементов без использования этого свойства, можно установить переменную среды QTLOCATION_OPENGL_ITEMS в 1. Также обратите внимание, что все текущие OpenGL-бэкенды не будут работать должным образом при включении слоев на индивидуальном элементе или при запуске на профилях OpenGL, превышающих 2.x.

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

border.color : цвет

Это свойство является частью группы свойств border. Группа свойств border содержит ширину и цвет, используемые для отрисовки границы многоугольника.

Ширина задается в пикселях и не зависит от уровня масштабирования карты.

Значения по умолчанию соответствуют черной границе шириной 1 пиксель. Для отсутствия линии используйте ширину 0 или прозрачный цвет.

color : цвет

Это свойство содержит цвет, используемый для заливки многоугольника.

Значение по умолчанию — прозрачный.

path : список<координата>

Это свойство содержит упорядоченный список координат, определяющих многоугольник. Наличие менее 3 разных координат в пути приводит к неопределенному поведению.

См. также addCoordinate и removeCoordinate.

Документация по методам

void addCoordinate(координата)

Добавляет указанную координату в путь.

См. также removeCoordinate и path.

void removeCoordinate(координата)

Удаляет координату из пути. Если есть несколько экземпляров одной координаты, удаляется последняя добавленная.

Если координата отсутствует в пути, этот метод ничего не делает.

См. также addCoordinate и path.

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

Spec-Zone.ru

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