Я посмотрел много вопросов и ответов здесь на SO относительно аналогичного (если не тот же) вопрос, который у меня есть.И все же ни у одного из них не было ответа, который я смог понять.
Я хочу ввести последовательность координат GPS и создать плавную кривую, которая соединяет их все и проходит через ВСЕ из них.Я предпочитаю Javascript, и я нашел эту страницу
http://jsdraw2d.jsfiction.com/demo/curvesbezier.htm
Она позволяет вам рисовать любое количество точек, и при нажатии кнопки «Рисовать кривую» она делает именно то, что мне нужно(за исключением того, что он находится на холсте html5, тогда как я хочу использовать значения широты / долготы)
Вы можете скачать исходный код jsDraw2D здесь:
http://jsdraw2d.jsfiction.com/download.htm
Функция ввопрос drawCurve (), и он, кажется, вычисляет точки кривой, создавая отдельный 'div' для каждой точки по мере ее продвижения, а также добавляя их на html-страницу.Я предполагаю, что мне нужно избавиться от кода для создания HTML-дивов и вместо этого добавить каждую точку, как она рассчитывается в массив или строку.Тем не менее, это просто над моей головой (возможно, потому что это кажется ошеломляющим, и мое понимание не совсем точно).
Я бы выложил код здесь, но это довольно долго, плюс я не уверен, сколькодругие функции, которые он вызывает / требует от остальной части скрипта.
Единственное, о чем я могу подумать - это значения +/- в координатах GPS.Я надеюсь, что изменения высоты не повлияют на сглаженную линию, созданную слишком сильно, особенно если учесть, что новые точки создаются так близко друг к другу.
Любая помощь в изменении этого кода будет принята с благодарностью.Если у кого-то есть какой-то другой подход, я открыт для предложений - однако я бы предпочел способ, который проходит через ВСЕ входные точки (в отличие от некоторых функций математической кривой, которые этого не делают)
Спасибо!