Клуб API Карт

трек на карте

Пост в архиве.
savvdm
3 июня 2009, 12:53

Хочется показать на карте путь предполагаемого путешествия и поместить ссылку на карту с треком в ЖЖ. Как проще всего это сделать с помощью Яндекс карт? Трек есть в одном из следующих форматов: plt, gpx, kml. Нарисован от руки, поэтому содержит всего несколько десятков точек.

16 комментариев
Королев Михаил
28 января 2016, 08:43

например при помощи проекта "менеджер треков"

ну или скажем при помощи "конструктора схем проезда"

Спасибо за ответ!

По первому варианту: хотелось бы обойтись без посторонних сайтов.

По второму варианту: не хочется ещё раз ставить точки вручную - трек уже нарисован. Вот если бы его можно было импортировать...

Королев Михаил
28 января 2016, 08:43
ну или самому сделать на api нечто с нуля, или сэкономить немного времени,сделав трек на моём проекте, забрать полученный YmapML и прикрутить его к себе :)
А что у вас за проект?
Королев Михаил
28 января 2016, 08:43
из первой ссылки:) менеджер треков - gps-помощник :)

А, понял, спасибо! Я подумаю на эту тему

Попробуй воспользоваться конвертером http://www.otrip.ru/kml2yamapsml/ , он еще кривоват и будет переделан, но и сейчас кое-что умеет. По крайней мере перевести трек из KML в YMapsML он способен. :)

Да, у меня была идея написать что-то подобное на XSLT.

В принципе, это не совсем то, что я хотел - полученный XML всё равно надо куда-то выкладывать (или он у вас будет лежать, пока вам не надоест ;)).

Всё равно, спасибо за совет и ссылку!

Вот если бы ссылки, сформированные с помощью static api Яндекс карт можно было бы постить в ЖЖ - это было бы здорово. Но они, как я понимаю, будут работать только на том сайте, для которого зарегистрирован ключ.

Карта через Static API это картинка, ее без проблем можно постить в ЖЖ используя img src, у меня через карта через Static API в RSS сайта идет и, соответственно, в ЖЖ и другие ресурсы постится. Или я что-то не помниаю? Другой разговор, что обычная карта это javascript, с которым в ЖЖ есть некоторые проблемы.

Впринципе, обработать KML файл и сгенерить (помимо XML) еще и ссылку на Static API не такая большая проблема. Сделаю это в следующей версии...

А, так они не проверяют, с какого сайта пришли по ссылке? Зачем тогда ключ, вообще?

Я думал, там проверяется referer на соответствие с тем сайтом, для готорого выдан ключ (он ведь тоже в ссылке на static api присутствует).

Что-то мне подсказывает, что мы говорим о разном...

Разницу между JavaScript API и Static API можно посмотреть в документации, в соответствующих разделах.

JavaScript API это динамичные карты, с возможносью увеличивать, двигать и т.п. Ссылка на API ключ (http://api-maps.yandex.ru/1.0/?key=ваш_ключ) это обычный js файл...

А Static API это просто сервис который выводит картинку, предварительно получив набор точек через адресную строку. А картинку можно воткнуть куда угодно, куда можно воткнуть картинку, хоть в аватар. :)

Так, что если Вы хотите вставлять в ЖЖ, то придется использовать Static API, если на свой сайт, то берете JavaScript API. В случае, упомянутого выше конвертера, то можно сделать не только XML и ссылку на Static API, но и сгенерировать javascript код, вставив который на свой сайт, вы получите тоже, что самое, если бы Вы загрузили XML.

На мой взгляд использование XML удобнее, по этой причине и взялся писать конвертер, однако использование JavaScript API в полном объеме - практичней и позволяет реализовать больше "выкрутасов".

В ссылку на картинку, которую возвращает static api, также входит api key:

http://static-maps.yandex.ru/1.x/?l=map&pl=c:8822DDC0,w:5,37.656577,55.741176,37.656748,55.741419,37.655131,55.741814,37.658257,55.742524,37.659811,55.743066,37.659667,55.743233,37.659551,55.743603,37.659775,55.743928,37.662398,55.745281&key=ABYQNEkBAAAAgM-ZTwMAK_IKAfJkc-72mWoAq8el6lFmTeEAAAAAAAAAAAChHQgTyECkUqGduyet_fMaeQ6ckw==

Это наводит на мысль, что такую ссылку тоже где попало не опубликуешь - она, скорее всего, работает только для того сайта, для которого ключ. Т.е на своём сайте можно такую ссылку разместить, а в форуме - не факт.

Попробуй скопировать ссылку, приведённую выше в браузер - получишь 401 - Unauthorized, потому что referer пустой.

Не знаю точно, как там сделано, но если такие ссылки можно вставлять куда угодно, то твоим ключом может воспользоваться кто угодно. Зачем тогда, вообще, ключи регистрировать? Бери ключ из чужого поста, и пользуйся ;)

Думаю, тут всё не так просто :)

Думаю, все ответы можно найти тут http://api.yandex.ru/maps/agreement.xml

5.1. Пользователь не имеет права получать API-ключ для третьих лиц или для использования на сайтах, принадлежащих третьим лицам.

- т.е. в ЖЖ, к примеру :(