Pull to refresh

Comments 13

Мои первые «тараканьи бега» тоже наткнулись на проблему плавности www.youtube.com/watch?v=O6gQk3t-qGY

Пытался решать методом достройки недостаюших точек с помощью квадратичной аппроксимации. Получилось плавнее, но загрузка текстового JSON'а с координатами и высотами за 4-5 часовой интервал на всю кучу пилотов, немного притормозила браузер.

Надо попробовать ваш метод.
А в чем же шутка задачи?
Разница неизбежно набегает, ибо тратится время на выполнение следующего кода:
// Посчитаем, сколько времени ушло на асинхронное действие
var diffDt = currentDt-startDt;
// Добавим к нашему таймеру это время, оно должно быть равно реальному
ourTimer += diffDt;

// Выведем для отладки время нашего таймера и реальное
document.getElementById("timer1").innerHTML = ourTimer;
document.getElementById("timer2").innerHTML = currentDt;
document.getElementById("timerDiff").innerHTML = currentDt-ourTimer;

// Зациклим код
run();


Так можно значительно уменьшить набегающую ошибку, но избавиться от нее полностью, увы, не получится: где-то да выстрелит разница в 1мс.
Шутка в том, что разница набегает из-за внедрения отладки. Пока ее нет, в том коде, что в статье, разница едва ли будет заметна.
Это естественно. Модификация DOM'а и отрисовка выполняются за вполне себе ненулевое время.
А зачем так жестко привязываться именно к GMaps? Почему не Leaflet или хотя бы не OpenLayers? Субъективно, там это все было бы в разы проще реализовать…
Leaflet для векторной графики по умолчанию использует svg, то есть не подходит для анимации. Лефалетовский канвас для анимации тоже не подходит, причина в тормозах при перерисовке слоя. OpenLayers не знаю. Но вообще у меня сомнения, что существует решение из коробки, которое отрисовывает треки быстрее, чем мой код. Большинство приемов не зависит от движка: канвас все равно создавать самому. Рисовать — тоже самому. Следить за перерисовкой. итд.
Основная причина использования GMaps в том, что там самая качественно проработанная топология и хорошие снимки. Парапланерные соревнования часто проводятся в диких местах и важно знать где и над чем пилоты летают — и для зрителей и для организаторов, которые потом пилотов после полета подбирают назад.
Топологическая карта, насколько я понимаю, у всех одна и та же — STRM, ASTER, CGIAR да National Elevation Dataset по штатам — спутников, делающих такой тип съемки, считанное количество, да и не так это востребовано, как обычные фотографии в видимом спектре. У всех примерно одинаковое разрешение — 90 м по миру, 30 м по штатам. Субъективно, наиболее красиво их рендерит Mapbox Terrain — но, повторяюсь, субъективно, на вкус и цвет фломастеры разные.

Насчет фотоснимков — то, опять же, субъективно, в показанной на сайте местности (например, Италия) — снимки на данный момент (после покупки Nokia) радикально лучше у Bing — не в последнюю очередь из-за того, что они заменили в этих регионах спутниковую съемку аэрофотосъемкой, которая при прочих равных дает больший контраст, разрешение, возможность снять «под углом», хотя и более трудоемка.
Сообственно, вот, место с первой картинки:

Google сверху, Bing снизу
www.redbullxalps.com/live-tracking.html
следил за соревнованиями в этом году, видно было как пилоты обрабатывают термики и склоны! Очень круто! Плюс ко всему — статус пилота, идет, летит, спит и т.д.
Хм, реальное приложение таки тормозит: перемещение карты тормозит явно, маркеры рывками перемещаются.
Chrome, Linux.
Тихо завидую — отличный проект!
Офигенская штука! Респект!
Как бы свой трек загрузить и посмотреть в динамике? Даже на Г.Планете.Земля нет такого.
Нет у вас желания отдельным проектом выложить — чтобы люди смотрели свои треки в движении?
Sign up to leave a comment.

Articles