Я хотел бы нарисовать GPX-трек на карте Leaflet. У ломаной линии не должно быть только одного цвета, но я бы хотел показать определенные значения, такие как высота, скорость, частота сердечных сокращений, температура, частота вращения педалей, цветовая маркировка наклона. Конечно, только одно значение может быть визуализировано одновременно.
Значения будут храниться вместе L.LatLng
, например, в meta: {ele: 298, hr: 155}
объекте.
Я новичок в Leaflet и особенно обеспокоен поиском эффективного способа сделать это. Первое, что пришло в голову, - это создать сотни или тысячи полилиний, каждый из которых имеет свой особый цвет. Но это звучит очень жадно в отношении памяти и процессора.
Есть идеи?
Пример того, что я имею в виду, можно посмотреть здесь
Ответы:
Конвертируйте ваш трек GPX в GeoJSON с QGIS.
Допустим, ваш GeoJSON выглядит следующим образом. GeoJSON имеет атрибут
elevation
со значением высоты.Добавьте ваш GeoJSON со следующим кодом на карту листовки. Используйте функцию для стилизации вашего файла.
"color"
Элемент вызывает функциюget color
и передает наelevation
стоимости вашей функции в качестве параметра.Функция
getColor
возвращает цвет в зависимости от значения высоты.Я сделал JSFiddle с примером GeoJSON и функциями, описанными выше: http://jsfiddle.net/2VY5z/1/
источник
<path>
элементов так часто, как переключаются цвета. К сожалению, нет никакого способа изменить цвет в пути: этоM184 398L187 395C#00FF00 L183 399
было бы необходимо для этого (C = цвет).Я создал небольшой плагин для Leaflet: Leaflet.MultiOptionsPolyline .
Вот скриншот с демо-страницы :
В настоящее время не хватает документации, но на демонстрационной странице есть ссылки на исходный код, который должен быть понятен.
Ваши отзывы приветствуются (создайте проблему на GitHub или прокомментируйте этот ответ, если у вас нет учетной записи GitHub).
источник
Выглядит так, как будто это старая ветка, но, надеюсь, кто-то найдет это полезным.
Плагин Leaflet для рисования цветных градиентов вдоль полилиний. https://github.com/iosphere/Leaflet.hotline/
источник