Spec-Zone.ru › Qt 5.15

Тип MapPolyline QML

Тип MapPolyline отображает полилинию на карте. Подробнее...

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

Свойства

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

Методы

  • void addCoordinate(координата)
  • координата containsCoordinate(координата)
  • координата coordinateAt(индекс)
  • void insertCoordinate(индекс, координата)
  • int pathLength()
  • void removeCoordinate(индекс)
  • void removeCoordinate(координата)
  • void replaceCoordinate(индекс, координата)
  • void setPath(геопуть путь)

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

Тип MapPolyline отображает полилинию на карте, задаваемую упорядоченным списком координат. Координаты на пути не могут быть изменены напрямую после добавления в полилинию. Вместо этого скопируйте путь в переменную, измените копию и присвойте копию обратно свойству path.

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

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

По умолчанию полилиния отображается как черная линия толщиной 1 пиксель. Это можно изменить, используя свойства line.width и line.color.

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

MapPolyline имеет стоимость отрисовки O(n) по отношению к количеству вершин. Это означает, что стоимость отрисовки полилинии на карте на кадр прямо пропорциональна количеству точек в полилинии.

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

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

Следующий фрагмент кода демонстрирует MapPolyline с 4 точками, образующими форму, похожую на верхнюю часть знака вопроса (?), рядом с Брисбеном, Австралия. Отображаемая линия имеет ширину 3 пикселя и зелёного цвета.

Map {
    MapPolyline {
        line.width: 3
        line.color: 'green'
        path: [
            { latitude: -27, longitude: 153.0 },
            { latitude: -27, longitude: 154.1 },
            { latitude: -28, longitude: 153.5 },
            { latitude: -29, longitude: 153.5 }
        ]
    }
}

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

autoFadeIn : bool

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

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

backend : MapPolyline.Backend

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

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

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

line.color : цвет

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

Ширина линии указывается в пикселях и независима от уровня масштабирования карты. Значения по умолчанию соответствуют черному контуру шириной 1 пиксель.

Для отсутствия линии используйте ширину 0 или прозрачный цвет.

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

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

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

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

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

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

координата containsCoordinate(координата)

Возвращает true, если заданная координата является частью пути.

Этот метод был введён в QtLocation 5.6.

координата coordinateAt(индекс)

Получает координату полилинии по заданному индексу. Если индекс выходит за пределы диапазона пути, возвращается некорректная координата.

Этот метод был введён в QtLocation 5.6.

void insertCoordinate(индекс, координата)

Вставляет координату в путь по заданному индексу.

Этот метод был введён в QtLocation 5.6.

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

int pathLength()

Возвращает количество координат полилинии.

Этот метод был введён в QtLocation 5.6.

См. также path.

void removeCoordinate(индекс)

Удаляет координату из пути по заданному индексу.

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

Этот метод был введён в QtLocation 5.6.

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

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

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

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

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

void replaceCoordinate(индекс, координата)

Заменяет координату в текущем пути по заданному индексу новой координатой.

Этот метод был введён в QtLocation 5.6.

См. также addCoordinate, insertCoordinate, removeCoordinate и path.

void setPath(геопуть путь)

Устанавливает путь, используя тип геопуть.

Этот метод был введён в Qt 5.10.

См. также path.

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

Spec-Zone.ru

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