Spec-Zone.ru › Qt 5.9

Тип MapPolyline QML

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

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

Свойства

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

Методы

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

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

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

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

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

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

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

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

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

Примечание: MapPolylines реализованы с помощью примитива OpenGL GL_LINES. Были сообщения об ошибках и несоответствиях в отрисовке на некоторых (особенно достаточно старых) платформах. Пока нет решения этих проблем.

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

Следующий фрагмент кода показывает 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 }
        ]
    }
}

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

line.width : int

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

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

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

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

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

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

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

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

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

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

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

Этот метод QML был представлен в Qt Location 5.6.

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

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

Этот метод QML был представлен в Qt Location 5.6.

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

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

Этот метод QML был представлен в Qt Location 5.6.

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

int pathLength()

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

Этот метод QML был представлен в Qt Location 5.6.

См. также path.

void removeCoordinate(индекс)

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

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

Этот метод QML был представлен в Qt Location 5.6.

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

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

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

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

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

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

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

Этот метод QML был представлен в Qt Location 5.6.

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

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

Spec-Zone.ru

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