gifts2017

Маршрут по яндекс картам 8.2(обычное приложение)

Опубликовал Odieone Odieone (Odieone) в раздел Программирование - Практика программирования

Очередная обработка - пример построения маршрутов на картах яндекс через API. На основании списка адресов рассчитывает путь от точки до точки на карте.

Рассчитывает расстояние по маршруту.

Может использоваться при построении маршрутов в 1с.

Я знаю их тут много, но я написал свою.Tongue Out

Достоинства

Работа с яндекс картами через яндекс API. Возможно как образец, поэтому не дорого.

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

Наименование Файл Версия Размер
Обработка 233
.epf 9,54Kb
19.03.14
233
.epf 9,54Kb Бесплатно
Улучшенный 161
.epf 9,56Kb
19.03.14
161
.epf 9,56Kb Бесплатно

См. также

Подписаться Добавить вознаграждение
Комментарии
0. Odieone Odieone (Odieone) 20.12.11 21:14
Очередная обработка - пример построения маршрутов на картах яндекс через API. На основании списка адресов рассчитывает путь от точки до точки на карте.

Перейти к публикации

1. Максим Костиков (mkostya) 20.12.11 21:14
2. Odieone Odieone (Odieone) 20.12.11 23:01
3. Михаил Ефимов (bssat) 21.12.11 08:46
Хотелось бы управляемые формы.
4. ssn5810 (ssn5810) 21.12.11 09:12
глючит "Получение элемента по индексу для значения не определено
Р = СтрЗаменить(МАссив[0], ";", Символы.ПС);"
5. Odieone Odieone (Odieone) 21.12.11 09:35
Сделаю на УП не проблема, выложу. Каким образом глючит? я когда тестировал не глючило.
6. Макс Зеленский (mzelensky) 21.12.11 10:15
А работает по всей РФ или ток Москва? Просто не так давно тестироал похожую обработку и работала она ток по Москве и Московской области.
7. Odieone Odieone (Odieone) 21.12.11 10:21
(6) mzelensky, я тестировал маршруты из Москвы в Минск потом в Нальчик а потом в Саратов, работала, работает как работают яндекс карты в нете.
8. Константин Пономаренко (kostia.ck) 21.12.11 12:25
Обработка сможет построить маршрут более чем по 10 точкам?
9. Odieone Odieone (Odieone) 21.12.11 13:59
(8) kostia.ck, Не пробовал если честно.
10. Odieone Odieone (Odieone) 21.12.11 14:53
(8) kostia.ck, Можно, я пробовал 15, нормально было.
11. Odieone Odieone (Odieone) 21.12.11 14:54
(4) ssn5810, Я добавил новую обработку. чуть подправил эту беду. Если хочешь исправить то добавь в формирование адресов счетчик. и результат счетчика в "ПодключитьОбработчикОжидания("ЗаписатьМаршрутВТЧ",счетчик,Ложь);" В итоге будет кашерно.
12. ssn5810 (ssn5810) 21.12.11 15:55
Вообще клинит даже закрыть не дает
при добавлении в маршрут или адреса

{Форма.Форма.Форма(14)}: Получение элемента по индексу для значения не определено
Р = СтрЗаменить(МАссив[0], ";", Символы.ПС);
13. ssn5810 (ssn5810) 21.12.11 15:56
прогу можно закрыть только через диспетчер задач, КРУТО !!!!
14. Odieone Odieone (Odieone) 21.12.11 15:57
(12) ssn5810, я же сказал как изменить, во вторых возможно надо сделать fix IE. Либо нет медленный слишком. Я просто исправил эту проблему. У меня работает стабильно. эта ошибка ещё возможна при пустых либо коряво набранных адресов. я несколько раз прогнал и проблемы не было. я выложил исправленную. попробуйте
15. Odieone Odieone (Odieone) 21.12.11 15:58
(13) ssn5810, прога работает, может вам надо разбираться не с обработкой?!
16. ssn5810 (ssn5810) 21.12.11 16:16
пробовал "улучшеную", платформа 1С8.2.13 УТ
клинит при добавлении в маршрута или адреса

{Форма.Форма.Форма(14)}: Получение элемента по индексу для значения не определено
Р = СтрЗаменить(МАссив[0], ";", Символы.ПС);
Ответили: (14)
17. Odieone Odieone (Odieone) 21.12.11 16:26
(16) ssn5810, у других не клинит. Разбирайтесь.
18. Сергей Начина (serg_gres) 22.12.11 12:33
Жалко не во всех странах маршрут пролаживает, но будем надеяться Яндекс будут дописывать.
PS. Год-два назад Беларуси не было в прокладке маршрутов.
19. Алекс Смирнов (goodwin12) 23.12.11 12:42
Интересно для любой конфы? нужны какие нито библиотеки или еще что&
20. Алекс Смирнов (goodwin12) 23.12.11 12:54
Обработка работает, просто надо сначала адреса писать а потом кнопку запустить нажимать
21. Алекс Смирнов (goodwin12) 23.12.11 13:15
Еще бы можно было отмечать прямо на карте точки маршрута а не писать хотя бы, получилось бы что то типо прокладки маршрута в ручную. А вообще он по какому принципу маршрут сам прокладывает? Ну молчу конечно про поиск оптимального маршрута между скажем 5 точками маршрута)
22. acherey 23.12.11 15:15
Очень инретесно про принцип прокладывания маршрута, скажем есть 20 адресов, как между ними будет прокладыватлься путь? есть ли время в пути? Планируется ли дальнейшее развитие функционала?
23. Odieone Odieone (Odieone) 24.12.11 10:27
(22) acherey, Можно расстояние между точек, время, пробки. Это просто вариант который вы можете развиват ьсами с помощью API
24. Alex Stasyuk (GreenFox) 27.12.11 14:51
Развивать тяжело, хочеться уже готовое ))).
А за пример использования спасибо.

Кто может подсказать, что для подобных задач лучше Яндекс или Гугл?
25. Alex Stasyuk (GreenFox) 27.12.11 14:51
Развивать тяжело, хочеться уже готовое ))).
А за пример использования спасибо.

Кто может подсказать, что для подобных задач лучше Яндекс или Гугл?
26. Odieone Odieone (Odieone) 27.12.11 16:13
(25) GreenFox, Яндекс. Гугл русских улиц не знает
27. Александр Анатольевич (alex_asoft) 28.12.11 08:35
Попробовал и сравнил с данными, полученные с GPS трекеров. Разница составила 5-7% , причем разброс как в большую , так и в меньшую сторону. Будем посмотреть ...
28. Гость 17.01.12 18:38
Отличная обработка, как раз то,что мне нужно! Столько времени мне сэкономил. Спасибо огромнейшее!
29. Брест Беларусь (zhleonid8) 28.01.12 17:40
30. Брест Беларусь (zhleonid8) 28.01.12 22:07
31. Доржи Балбаров (Angeros) 23.07.12 09:32
а почему сделано через такой необычный механизм ожидания? нет ли стандартных методов ожидания?.
32. Odieone Odieone (Odieone) 23.07.12 15:57
(31) Angeros, Ну вообще я много разных способов придумать пытался, это самый эффективный. Но данная обработка всего лишь шаблон для продвижения дальше. Если есть идеи буду рад.
33. Доржи Балбаров (Angeros) 23.07.12 19:40
(32) Odieone, Все классно, я до этого сам не догадался, хотя и задача стоит другая. Вызов процедуры чтения результата происходит, через обработку ожидания, которая периодически проверяет результаты работы скрипта. Изящно но в тоже время довольно не стандартно в контексте стандартной модели кодинга в 1с. Больше похоже на принцип из явыскрипт

Очень похоже у вас в этой области больше знаний. Потому спрошу еще пару вопросов по теме.

Задача.
Есть массив точек которые надо посетить, начальная и конечная точки есть одна и та-же. Необходимо посетить их все пройдя минимальный путь. Для начала мне потребуется выбрать путь от начала до второй, от начала до третей и т.д. - идем в ближайшую. из ближайшей далее все сначала повторяем, но исключим те точки которые уже посетили. Так предполагается найти наш путь.

Получает чтобы разрешить эту задачу необходимо запускать заковыристый механизм, который вы описали несколько раз. и по ходу вопросы.
Почему не использовалось работа с версией Яндекс карт 2.0?! Можно ли вообще передать вызов из яваскрипта в 1с. пытался с событиями разобраться но все очень натянуто?. Можно как-то контролировать работу callback функции внутри яваскрипта, чтобы управление в 1с передавалось только по окончании работы скрипта включая возврат результатов.? Возможно ли вообще работать с ява скрипт из 1с без объекта хтмл?
34. Odieone Odieone (Odieone) 25.07.12 19:14
Может я не понимаю что то но в задаче вы имеете ввиду веерный тип развозки логистики? Я прошу прощения просто не пойму логику посещения точек. Если задаем путь от начала до конца то он определяет от начала через точки.
Отвечаю на вопросы. Я не в курсе был про яндекс карты 2.0 и использовал первые попавшиеся API на сайте яндекса. Вызов из яндекс скрипта..не пробовал... но можно по идее все, хотел передать эту обработку уже через c#, если честно у самого было много идей по этому поводу... но заказчику тогда хватило и этого, да и смысла разрабатывать это дело под 1с не вижу смысла нет потребностей у людей, идей много было тогда. Но скажу что долго парился с проблемой передачи в 1с и обратно данных. Честно говоря самого этот способ бесит. Пришлось разрулить по детски. А вообще была проблема с тем что если не использовать механизм таких задержек то данные не возвращаются и идет потеря.
35. Павел Опарин (opx) 30.07.12 09:39
Жаль, что не прокладывает оптимальный маршрут. Долго бился с тем, чтоб я.карты отображали оптимальный маршрут между несколькими точками, но все тщетно. И кстати заменить обработчик ожидания можно и нужно.
//YMaps.Events.observe(router, router.Events.Success, function () {
Вот в этой процедуре и надо записать
document.title = 'Сообщить("Расстояние тут... вроде через getLenght()... но надо пробовать");';
А на событие поляHTMLдокумента "onpropertychange" повесить
Если ЭлементыФормы.ПолеHTMLДокумента.Документ.title <> "" Тогда
Выполнить(ЭлементыФормы.ПолеHTMLДокумента.Документ.title);
КонецЕсли;

Ну или как-то так. Думаю задумка понятна, а в 1С ее не проверял. Вероятно, что ошибку выдаст, которую легко исправить.
36. Дмитрий (gosizo) 16.09.13 09:15
Яндекс карта. допустим есть несколько меток, можно ли как-то смасштабировать карту (не руками, а программно), что бы масштаб был максимально увеличен и в тоже время все метки были видны (в границах карты)?
37. Олег Осипов (plastilin) 25.01.14 22:57
38. Марат Настоящий (rayastar) 17.09.14 08:06