Если вы проложили маршрут до некой точки, записав для этого GPS-трек, и вам необходимо публично поделиться этой информацией - как проехать до этого места назначения (охотничий домик, турбаза в лесу далеко за городом или просто домик в маленькой деревне в глухой провинции, и др...), то вы обязательно захотите показать этот трек на карте.

Как показать GPS-трек на Яндекс-картах

Вариантов тут может быть несколько, а основных только два: используя собственный сайт, показать GPS-трек на карте Google или отобразить этот же GPS-трек на Яндекс-картах. Критерии для отбора следующие:

 

1. Разрешение спутниковой фотографии

В зависимости от региона мира и местности вообще наилучшая картинка с более высокой деталлизацией может быть как у гугла, так и у яндекса - смотрите сами путем обычного сравнения на глазок. Соответственно, эта оценка может оказаться первым и решающим фактором - какую карту использовать в качестве навигационной подложки. Если, например, вашу любимую деревню буржуйский гугл проигнорировал, и вы видите на его спутниковой фотографии только неясные очертания населенного пункта, а Яндекс-карты в режиме "Спутник", наоборот, содержат не только хорошо узнаваемые улицы, но и даже здания, плюс, имеется режим "Народная карта" и кто-то из этой деревни уже внес в нее дополнительные данные (названия улиц, основные административные объекты и достопримечательности), то вам никчему использовать карту гугла. Яндекс рулит!

 

2. Техническая реализация на сайте

Обновление: Яндекс изменил политику по отношению бесплатного использования их карт, теперь нужно для каждого сайта настраивать отельно API и получать ключ (подробно почитать можно тут: https://tech.yandex.ru/maps/mapsapi/#maps).

Это ясно и ежу - чтобы внедрить на web-страницу сайта интерактивную карту с отображением на ней GPS-трека нужно иметь некоторый уровень знаний по web-программированию. Не смотря на то, что добрыми людьми были написаны специальные модули и плагины для упрощения процесса внедрения карт на сайты, эти плагины могут оказаться не совсем рабочими или, как говорят "Без бутылки не разберешься!" :)

Я долго-долго возился с картами Google, их дурацкими API и пр., пытаясь отобразить на них GPS-трек - безуспешно. Точку показывает, а трек нет. Неудача была свалена на разработчика модуля, с помощью которого была попытка реализации, и гугл был отложен на далекий "Потом".



С Яндекс-картами получилось проще. Специальные модули не использовались, я взял только модуль для вставки произвольного кода, в котором прописал следующее:


<div>
<meta http-equiv="Expires" content="0"/>
<script src="http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
var myMap;
ymaps.ready(init);
function init ()
{
myMap = new ymaps.Map("map", {
center: [54.28244, 48.55732], //координаты центра карты в градусах
zoom: 11, //увеличение
behaviors: ["default", "scrollZoom"],
type: 'yandex#hybrid'
});

myMap.controls.add("mapTools")
.add("zoomControl")
.add("typeSelector")
.add(new ymaps.control.MiniMap({type: 'yandex#publicMap'}));

var data = [
{ url : 'https://skalolaskovy.ru/files/Track1(all).gpx', text: 'Трек 1 - Путь через ул. Академика Павлова, Колхозный и Красный Яр', color: 'FF0000FF', clicked: 1 },
{ url : 'https://skalolaskovy.ru/files/Track2(all).gpx', text: 'Трек 2 - Путь через Октябрьский (Учхоз) и Первомайский', color: '00FF00FF', clicked: 1 },
{ url : 'https://skalolaskovy.ru/files/baza1.gpx', text: 'Точка на карте - местоположение базы отдыха Уютная', color: '00FF00FF', clicked: 1 },

];

var result = [];
var done = 0;

$.each(data, function(index, xml)
{
ymaps.geoXml.load(xml.url).then(function (res)
{
res.geoObjects.each( function (geoObject)
{
geoObject.options.set({
preset : 'twirl#campingIcon',
strokeColor: xml.color,
strokeWidth: 2
});
} );

result[index] = $("<a class=\"title\" href=\"javascript:void(0)\">" + xml.text + "</a>")
.bind("click", function (e)
{
var link = $(this);
if(link.hasClass("active")) {
myMap.geoObjects.remove(res.geoObjects);
}
else {
myMap.geoObjects.add(res.geoObjects);
}
link.toggleClass("active");
} );
done++;
if(done==data.length)
{
$.each(result, function(index, item)
{
item.appendTo($("<li></li>").appendTo($("#menu") ));
if( data[index].clicked == 1 ) item.click();
});
}
});
});
}
</script>

<ul id="menu"></ul>
<div id="map" style="width: 710px; height: 500px"></div>
</div>

В результате этот код отобразил на web-странице следующую карту:

 

 



Шпаргалка для тех, кто захочет по аналогии отобразить свои треки на картах Яндекса:

  • Теги "meta" по идее нужно вставлять в "head" страниц, но это не обязательно, ведь не обязательно делать это для каждой страницы.
  • координаты центра карты указываются в градусах с долями, если ваши координаты представлены в градусах, минутах и секундах, то вам нужно разделить минуты на 60, секунды на 3600, полученные данные сложить и прибавить к ним градусы. Второй вариант - подобрать цифры после запятой методом тыка.
  • увеличение карты (zoom) таже можно менять в зависимости от размеров экрана карты и длины трека.
  • Тип карты по умолчанию когда она будет прорисовываться на сайте выбран - yandex#hybrid - гибридный вариант (изображение со спутника + некоторые цифровые данные). Можно выбрать также чисто спутниковый режим, схему, народную карту или народная + спутник. Как они называются, чтобы прописать в коде - не знаю, кто ищет - тот сам найдет!
  • Синим цветом выделены адреса расположения GPS-треков - файлов с расширением gpx. Файлы могут фактически находиться на любом сайте, главное корректно указать адрес к этим gps-маршрутам.
  • Треков может быть как один, так и множество. Каждый трек нужно прописать отдельно: его адрес, текст названия, цвет для отображения и состояние (например, clicked: 1 означает, что отображение трека на карте включено, 0 - выключено).
  • В строке preset : 'twirl#campingIcon' указан тип иконки для отображения точки, вы можете также выбрать наиболее подходящий для вас вариант тут: http://api.yandex.ru.
  • В самом конце кода прописан размер окна, в котором будет отображаться карта.
  • Список с идентификатором "menu" отвечает за отображение списка треков. Кликая по названию трека в этом списке, его можно включать и отключать.

Данный подход для отображения треков (как проехать до...) был использован на сайте базы отдыха "Уютная". Мне кажется, получилось довольно не плохо: не сложно в плане реализации, удобно и очень информативно. Таким образом на сайте можно отобразить любой GPS-маршрут и проставить любое количество пользовательских точек.

Комментарии (0)

Здесь не опубликовано еще ни одного комментария

Оставьте свой комментарий

  1. Опубликовать комментарий как Гость.
0 Значки
Вложения (0 / 3)
Поделитесь своим местоположением

      Священные сомы в Индии (видео)
      Священные сомы в Индии (видео)

      Бодхгайя — это место в Индии, где Будда достиг Просветления. Неподалеку от дерева бодхи находится священный пруд, где Будда, по достижении Просветления, пережидал сезон дождей и где его укрывал от дождей сам Король Нагов. И сейчас, с левой стороны от ступы, находится пруд. А в пруду живут сомы. И их очень много т.к ловить их и убивать не положено. Чем они и пользуются, наглея с каждым днем все больше и...




      Служба спасения 911 - Рождественский кошмар
      Служба спасения 911 - Рождественский кошмар

      Ведущий: Ежедневно тысячи людей попадают в кpитические ситуации, безвыходные положения, ломают pуки и ноги. Помочь им в этом пpизвана наша пpогpамма и служба "Спасение 911". Приободрить людей, попавших в беду, свести все к шутке - в этом состоит наша главная задача. И об одном таком случае, случившемся в Рождество, я не имею пpава молчать. Да, собственно, не очень-то и хочется.




      Advego Plagiatus - проверка уникальности текстов
      Advego Plagiatus - проверка уникальности текстов

      Advego Plagiatus - замечательная программа с интуитивно понятным интерфейсом, предназначенная для поиска в Интернете частичных или полных копий текста. Например, написал ты статью - а, оказывается, она уже давным-давно размещена в Интернете на каком-то сайте и написана практически такими же словами :) И, так вот, чтобы не ударить "грязью в лицо", статью эту нужно предварительно проверить на...




      Wi-Fi роутер и локальная сеть Novell
      Wi-Fi роутер и локальная сеть Novell

      Вариантов организации локальной сети может быть очень много. У каждого из них - свои особенности и настройки. В этой статье рассматривается только вариант настройки Wi-Fi роутера на примере Apple Airport Extreme для локальной сети, организованной с помощью Novell. В принципе, в данном примере вместо роутера Apple Airport Extreme может фигурировать любой другой роутер, и не обязательно яблочный, принцип...




      Содержимое файла hosts
      Содержимое файла hosts

      Многие рядовые и слегка продвинутые пользователи компьютеров много лет пользовались ими и не подозревали о существовании какого-то файла по имени hosts, не имеющего фамилии (т.е. расширения). Но благодаря вирусам и неидеальности операционных систем семейства Форточек (Windows) пользователям пришлось познакомиться с этим "хостом", причем, довольно тесно.




      Обозначение типов данных вида ANS...
      Обозначение типов данных вида ANS...

      На некоторых проектах (чаще всего это встречается на финтех) используются обозначения типов данных в виде A<n> или A...<n> или ANS...<n> и другие. Выглядит это, соответственно как A5 или A...20 или ANS...12. Могут быть варианты вида N-3 и N 1...10. Расшифровка этих обозначений не валяется на каждом шагу в интернете и может, порой, заставить задуматься аналитика или, что еще хуже, стать причиной не корректной интерпретации требований.




      Малыш и Карлсон
      Малыш и Карлсон

      — Потрясающе! — удивился Малыш. — Но позвольте! Вы ведь летели с положительным тангажем.— Чего? — Карлсон открыл рот от неожиданности и чуть не подавился. — Ну... Вы летели головой вверх, слегка наклонившись вперед. При этом пропеллер должен был тянуть вас вверх и назад. Почему же вы летели вперед, а не назад? А можно посмотреть на твой пропеллер?— Конечно. — Карлсон развернулся.— С ума сойти! Я так и...



Яндекс.Метрика
Сайт работает на быстром VPS/VDS хостинге от FASTVPS