Скриншот страницы сайта. Маршрут автомобиля с контрольными точками на яндекс карте. Yandex MAPS




Нужно отправить клиенту отчёт о движении автомобиля с грузом по маршруту.
Для это очень даже хорошо подходит сайт s-shot.ru. Собственно ни чего лучше и не найдено.

В начале пробовали скормить маршрут через урл yandex картам и google картам. Но первый не успевал отрисовывать маршрут, карта была голая. Гугл же с лева рисовал огромную панель управления. Нас это тоже не устроило.

Тогда родилась идея на своём домене разместить яндекс карту. Отключить на ней всё , что можно и нельзя.

А маршрут и описание маршрута передавать параметрами: 

options=[[58.010259,56.234195],[57.910259,53.234195],[56.910259,39.234195],[56.75396,37.620393]]

Массив координаты точек, [Начало маршрута, точка N, точка N+1, автомобиль, окончание маршрута]

sign=[[Дата проезда автомобиля]]

массив подписей к точкам, , количество подписей расчитывается, всего точек — две точки (начало и окончание маршрута) — одна точка автомобиль.

h=Заголовок маршрута

 

Прямая ссылка на страницу генерации маршрута:

http://track.all4u.pro/index.php?options=[[58.010259,56.234195],[57.910259,53.234195],[56.910259,39.234195],[56.75396,37.620393]]&sign=[[Дата 1 проезда автомобиля]]&h=*Окончание маршрута%20-%20*Начало маршрута

 

 

Полная ссылка на страницу сгенерированной картинки:

http://mini.s-shot.ru/801×601/Z100/jpeg/?http://track.all4u.pro/index.php?options=[[58.010259,56.234195],[57.910259,53.234195],[56.910259,39.234195],[56.75396,37.620393]]&sign=[[Дата 1 проезда автомобиля]]&h=*Окончание маршрута%20-%20*Начало маршрута

 

 

т.к. хостер подтормаживает, то при вызове «Фотоаппарта», предварительно «дёргаем» прямую ссылку. С яндексом так не получается.

 

Выкладываю текст обработки и файл на стороне сервера, тем кто захочет реализовать у себя аналогичный сервис.

На моём домене страница пока работает. Сколько? Неизвестно. Может из — за наплыва желающих будет отключена.

 

Вам остаётся только вложить скриншот сайта в тело письма и отправить на почту.

 

В архиве index.php на ваш сайт + обработка для построения маршрута и получения его изображения.

9 Comments

  1. Yashazz

    Костыль на костыле. Можно было решить проще.

    Reply
  2. agent00mouse

    (1) Покажи своё кунг — фу. Что — бы не быть голословным.

    Reply
  3. Yashazz

    (2) на слабо лохов ловят). Поиск по ИС к твоим услугам. Мои комменты и разработки на тему карт в 1С — тоже. Ищите и да обрящете.

    Ну или договоримся в личке за денежку, покажу кунг-фу)

    Reply
  4. agent00mouse

    (3) Yashazz, Суть вопроса не в том, что — бы на форме отобразить карту. Есть код на ИС, да и сам разобрался как сделать такое. Картинка нужна, клиенту почтой отправить. Такое было первоначальное задание. 🙂

    Reply
  5. Yashazz

    (4) я вплотную занимался именно вопросом картинки, «слепка», скриншота карты с выведенными данными. В файл, на печать, итд. Курьеру в зубы и поехал, например.

    Если говорить конкретно о Яндексе, то эту проблему нормально не могли решить и сами разрабы Яндекс-карт, в результате опубликовали пример, как из-под API 2.Х дёрнуть старую Static API 1.0, которая уже могла сохранить в файл переданный ей дамп карты. Костыль яндекса, по сути, но для внешних разработчиков предлагалось как решение. Они ради этого даже конференцию собирали.

    Если говорить конкретно о Гугле, то я видел приблуды на js, просто фрагменты кода, которые позволяли это сделать. Методов в их API не помню, может, появились.

    Я решил задачу так: вывел на форму карту, через обычный ОболочкаHTMLДокумента, а уж на эту форму натравил внешнюю компоненту создания скринов в файл. Форма была обычная, открывалась модально в режиме рабочего стола (да, я извращенец), занимала весь экран, поэтому лишнего на скрин-картинке не было. По поводу отрисовки и что карта появляется не сразу — обычный асинхрон. Я запускал обработку ожидания с маленьким шагом, она ловила событие сформированности документа (методом 1С) и ответ моей js-функции (всунутой в тело хтмл), и как только это случалось, делался скрин и форма закрывалась.

    Reply
  6. agent00mouse

    (5) Yashazz, С формой и внешней компонентой не получится, клиенты работают, как по тонкому клиенту так и из браузера. на сервере форму тоже не открыть. Плюсом скриншота , правда платного, можно организовать задержку для отрисовки страницы. Согласен, с тем, что цепочка получается длинная и перестань работать один из сайтов, мы потеряем «пациента».

    Про Яндекс-костыль v1, Даже и не подозревал, что умеет такое. Спасибо, будет свободное время посмотрю тему.

    Reply
  7. cool.vlad4

    (5) Yashazz,

    Если говорить конкретно о Яндексе, то эту проблему нормально не могли решить и сами разрабы Яндекс-карт

    как-то слабо в это верится, никогда этим не занимался, но вроде на js с этим проблем сейчас быть не должно, через canvas же можно сохранить.

    update: поискал. какие-то траблы видимо имеются, раз готового решения нет, как с гуглами картами. скорее всего они сами не хотят , чтобы снимали у них скрины.

    Reply
  8. rus128

    «ни чего» и «с лева» пишется слитно.

    «Что-бы» пишется без дефиса (в данном случае — слитно).

    Reply
  9. agent00mouse

    (8) rus128, Спасибо. только чтобу найти не могу. 😉

    Без шуток, спасибо.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *