Можно делать переход от одной точки к другой свайпами влево/вправо. Для телефона имхо самый простой вариант.
Мне кажется, что это ничем особо не отличается от моего варианта со множеством картинок, на экране мобильного телефона одна картинка будет занимать весть экран, только скролить надо будет не в стороны, а сверху вниз.
Варианты типа FlyBys, когда есть анимация едущего велосипедиста и воздействий погоды на него, можно реализовать и они будут довольно наглядны, но хороши только для компьютера. В первую очередь я хочу сделать более-универсальный вариант для обеих платформ - мобильный и десктоп.
Этот вариант выглядит наглядным, но у него есть свои сложности. Во-первых он в целом более трудоемкий, когда речь идет о "домашнем проекте", как я и писал выше
Но это усложнит реализацию (т.к. надо учиться вычислять направление движения, а оно весьма не прямолинейное порой, учитывать разные углы при направлении движения)
Во-вторых есть трудности как расставлять такую информацию на извилистой дороге, типа горного серпантина, либо при значительном отдалении карты. В общем идея мне нравится, спасибо, но пока придется ее отложить.
Если ползунок будет растягиваемый щипком, то можно достичь любой детальности по времени. Кроме растягивания-сжатия полосы времени, доступны операции:
- ткнуть в полосу - бобышка ползунка перемещается в эту точку времени;
- тащить бобышку - перемещаемся по полосе времени в пределах текущего кадра, на карте динамически отображается состояние погоды на этот момент;
- тащить полосу - бобышка на экране остается на месте, перемещается кадр времени, попадающий на экран, на карте динамически отображается состояние погоды на этот момент.
Если заданы момент старта и средняя скорость, то при масштабировании карты текущий кадр времени автоматически устанавливается по границам видимого трека (минимальное время входа - максимальное время выхода с карты), и наоборот - при растягивании-сжатии кадра времени автоматически устанавливается соответствующая ему область карты.
Я подумал, опять таки не вижу явных преимуществ перед простым увеличением карты или скролом картинок на экране мобильного. Однако прибавится работы для меня.
Возможно ты думал, что можно получать погоду на любой момент времени и ползунок придаст гибкости при анализе погоды, по сравнению с просмотром по точкам. Но тут есть техническое ограничение - существует очень мало API, которые вообще предоставляют данные о погоде бесплатно. И те что предоставляют - ограничивают число запросов. Поэтому нет возможности показывать погоду для разных людей по разному.
Температуру и осадки (мм в час), мне кажется, удобнее и компактнее всего отображать цифрой: 2'C 0.1мм
Ветер - как предлагает Саша, цвет (помогает/зеленый, слабо помогает/бледно-зеленый, сильный боковой/желтый, слабый боковой/бледно-желтый, слабо мешает/бледно-красный, мешает/красный, штиль/стрелка отстутствует), направление, а вот силу для компактности я бы указывал всего тремя градациями (слабый, умеренный, сильный - соответственно мелкая, средняя, или большая стрелка), а кому мало, в настройках можно включить цифру после осадков: 2'C 0.1мм 3.5м/с
Не уверен что API отдает данные о количестве мм осадков, но это было бы полезно показывать. Подкрашивать стрелку - хорошая идея, но как я писал выше, это трудоемко. Как например определить насколько ветер мешает, если попался извилистый кусок маршрута? Или например человек едет в горах по прижиму, ветер может быть со стороны гор, но человек его особо и не почувствует.
Задумки во многом хорошие, но я в первую очередь буду ориентироваться на правило Парето, так чтобы 20% моих усилий, давали 80% пользы. Потом можно будет и за мелочи браться, если сервис понравится людям.
Т.е. мне важно, чтобы улучшение было актуально для обеих платформ, было не слишком сложно реализуемо, приносило явную пользу.
При этом я буду избегать сложных элементов управления, тяжелых библиотек и всего такого, что может существенно замедлять загрузку страницы сервиса или просто тормозить на слабых мобильных устройствах.
Организую вело-приключения сам и буду рад присоединиться к чужим. Пишите в ЛС.