Маршруты в GoogleMaps для типовых конфигураций

Обработки - Универсальные обработки

Данное решение позволяет проложить маршрут, используя GoogleMaps API без внесения изменений в конфигурацию

"Данное решение встраивается в типовую конфигурацию на управляемых формах в качестве дополнительной печатной формы (наличие БСП, а также хранение КИ в табличной части "КонтактнаяИнформация" объекта). Назначение обработки определяется автоматически: выбираются все документы, содержащие реквизиты "Контрагент" и "Организация". После этого среди дополнительных печатных форм документов вы сможете найти команду "Проложить маршрут". Маршрут прокладывается от фактического адреса организации до фактического адреса контрагента, указанных в документе. Помимо всего прочего выводится информация о маршруте (промежуточных точках, длине маршруте и времени пребывания в пути).

Как это работает?

Работа ведется с API от GoogleMaps. Маршрут выводится на форму в поле HTML-документа, описание которого находится в макете обработки. Помимо прокладки маршрута можно также ставить/убирать вспомогательные отметки на карте.

Обновление от 22 августа 2014 г.

- исправлена проблема с формированием маршрута при открытии;
- добавлена кнопка "Открыть в браузере" для просмотра маршрутов на сайте GoogleMaps;
- добавлена возможность выбора способов перемещения;
- доработано дерево информации о маршруте;
- добавлена возможность сохранения маршрута в текстовом виде с координатами промежуточных точек.

 



Обновление от 26 августа 2014 г.

В архиве к публикации вы теперь можете найти 2 обработки. "GoogleMapsExtPrint" - интегрируется как внешняя печатная форма, ее описание приводилось выше; "GoogleMapsService" - добавляется в качестве внешней обработки, ее можно вызвать из меню "Сервис-Дополнительные обработки", открывается с пустой (без маршрутов) картой для дальнейшей прокладки маршрутов. Начальное центрирование (г. Москва) вы можете изменить в обработчике "ПриСозданииНаСервере" (строка 18 основной формы обработки).

 

Обновление от 14 июля 2016 г.

Исправлена проблема с выполнением скриптов. Для исправления ошибки необходимо в макетах (на вкладке "Текст") обработок "
gm_GoogleMaps" строку 15

<SCRIPT type=text/javascript src="http://maps.googleapis.com/maps/api/js?&amp; key= ТутВашКлюч"></SCRIPT>

изменить на

<SCRIPT type=text/javascript src="http://maps.googleapis.com/maps/api/js?v=3.22&amp;key= ТутВашКлюч "></SCRIPT>

Вместо "ТутВашКлюч" по умолчанию стоит мой ключ разработчика с ограничениями на количество запросов в день. Для получения собственного ключа вам необходимо перейти по ссылке: https://developers.google.com/maps/documentation/javascript/get-api-key?hl=ru.

После получения ключа вам необходимо подставить его в строке 15 в макете "gm_GoogleMaps"

 

Обновление от 15 июля 2016 г.

Добавлена возможность сохранять маршрут в формате GPX

Обновление от 14 ноября 2017 г.

Изменен вызов JS-скриптов из 1С (вместо eval теперь вызывается событие убран функционал для установки отметки на карте

Скачать файлы

Наименование Файл Версия Размер
GoogleMaps
.zip 44,22Kb
14.09.16
71
.zip 1.2 44,22Kb 71 Скачать

См. также

Комментарии
1. Алексей 1 (AlX0id) 21.08.14 23:01 Сейчас в теме
На быстрых машинах все работает прекрасно, однако, на медленных машинх вы можете получить ошибку при открытии. В этом случае достаточно нажать кнопку "Ок" и посмотреть маршрут по кнопке "Проложить маршрут". Другого решения для автоматической прокладки маршрута при открытии формы пока не нашел...

Может, просто обработчик ДокументСформирован запилить? Ну, или вкупе с обработчиком ожидания..
2. Алексей Харламов (RocKeR_13) 375 22.08.14 12:07 Сейчас в теме
(1) AlX0id, спасибо за подсказку, а то зациклился я на событиях формы) Помогло
&НаКлиенте
Процедура ПолеHTMLДокДокументСформирован(Элемент)
	
	ПодключитьОбработчикОжидания("ПроложитьМаршрут", 0.1, Истина);	
	
КонецПроцедуры

Сейчас подпилю описание публикации и выложу доработанный вариант)
3. Роман Ша (Shamzelia) 23.06.16 13:00 Сейчас в теме
А проблему решить как с ошибкой выполнения сценария, когда курсор попадает на карту???
4. Роман Ша (Shamzelia) 23.06.16 14:55 Сейчас в теме
Поправьте обработку плз )
5. Алексей Харламов (RocKeR_13) 375 14.07.16 17:29 Сейчас в теме
(4) Shamzelia, в описании к обновлению от 14 июля 2016 написал, как исправить. Загрузил новые обработки в публикацию!
6. М Л (sigur) 24.08.16 20:08 Сейчас в теме
Ошибка "Script error"
строка 0
символ 0
"http://maps.googleapis.com/maps-api-v3/api/js/24/13/intl/ru_ALL/onion.js"

Где копать?
8. Алексей Харламов (RocKeR_13) 375 14.09.16 15:55 Сейчас в теме
(6),(7) попробуйте в макете заменить строки 2 и 3 (в теге META) на следующие
<MET A http-equiv="Content-Type" content="text/html; charset=utf-8" />
<MET A http-equiv="X-UA-Compatible" content="IE=8" />

P.S. META должно быть слитно написано, почему-то добавляется автопробел тут
7. Igor Kitaev (pimenushka) 12 06.09.16 22:14 Сейчас в теме
Такая же картина при увеличении карты. Ответа не нашел.
9. Алексей Орехов (orekhov_rnd) 10.03.17 11:29 Сейчас в теме
А строить маршруты общественным транспортом умеет?
10. Алексей Харламов (RocKeR_13) 375 10.03.17 12:08 Сейчас в теме
(9) да, на первом скриншоте показаны возможные способы перемещения
11. Tiger77 (Tiger77) 66 21.11.17 00:12 Сейчас в теме
После построения маршрута или масштабирования экрана вылетает с ошибкой
"http://maps.googleapis.com/maps-api-v3/api/js/28/19/intl/ru_ALL/poly.js".

В чем может быть причина ?
12. Алексей Харламов (RocKeR_13) 375 21.11.17 09:25 Сейчас в теме
(11) вышлю в личку ссылку на обновленную версию от 14 ноября
13. Дамир Закиров (Dzenn) 222 05.01.18 22:21 Сейчас в теме
Мне нужно было найти возможность находить расстояние между адресами для поездки на автомобиле. Здесь я нашёл нужный мне функционал. Наиотличнейшая публикация, спасибо.
Оставьте свое сообщение