Тип 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