Механизм взаимодействия с Яндекс-картами. Возможность отображения и работы с районами города или другими административными областями

23.04.20

Интеграция - WEB-интеграция

Механизм работы с картами Яндекс. Возможность просто и быстро инициализировать карту и вывести ее на форму. Возможность расширять функционал согласно своим потребностям просто добавляя макеты JS и описывая процедуры их подключения. Реализовано взаимодействие с ObjectManager, polygonMaker Реализованы примеры по работе с метками, геокодером и пр. Добавлены примеры по выводу областей России, Районов произвольного города и других адм. регионов

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Подсистема взаимодействия с ЯК
.cf 78,03Kb ver:1.0.2
46
46 Скачать (1 SM) Купить за 1 850 руб.

Добрый день,

Столкнувшись с задачей реализации взаимодействия с ЯндексКартами я наткнулся на то, что почти никто не показывал адекватный, удобный для изменения и дополнения модульный механизм работы с сервисом.

Предложенный механизм работает с толстым, тонким и web клиентом, мобильным клиентом на android

Все макеты JS Для работы с ЯК хранятся в макетах.

Вся процедура подключения происходит в ОМ  РаботаСЯндексКартами.

Моделирование текста HTML  происходит примерно так:

&НаСервере
Процедура ВывестиНаКарту()

	ТекстПодключаемыхСкриптов ="";
	РаботаСЯндексКартами.ИнициализироватьКарту(ТекстПодключаемыхСкриптов);
	РаботаСЯндексКартами.ДобавлениеObjectManager(ТекстПодключаемыхСкриптов, Справочники.СуществующиеФОК.СформироватьМассивСтруктурДляВыводаЧерезObjectManager());
	РаботаСЯндексКартами.РазместитьТочкуНаКарте(ТекстПодключаемыхСкриптов);
	РаботаСЯндексКартами.ДобавитьперемещениеТочкиПоКартеКликом(ТекстПодключаемыхСкриптов);
	СтраницаХТМЛ = РаботаСЯндексКартами.ПолучитьТекстHTML(ТекстПодключаемыхСкриптов);				
					
КонецПроцедуры

   

По мере доработки конфигурации я буду обновлять макеты JS, из планов:

Планер мультимаршрута

Вхождение точки в область.

Добавление областей на карту через ObjectManager

Управление параметрами областей

 

Upd 06/04/2020:

Добавлен планер маршрута. 

 

Upd 23/04/2020

Добавлена возможность вывода и выбора административных областей.

Добавлена возможность сохранения ее и последующей модификации.

 

Upd 27/04/2020

Добавлена возможность вывода карты города с делением по районам, а так же областей с делением по адм.районам

Регионы ищутся в базе данных OSM, а далее конвертируются в формат YandexMaps.

 

Тестировалось на 1С:Предприятие 8.3 (8.3.15.1565).

Яндекс.карты яндекс api Javascript ПолеHTML OSM

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    17886    19    22    

17

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20017    13    17    

17

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    14492    42    8    

18

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    1523    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Yashazz 4794 05.04.20 20:43 Сейчас в теме
я наткнулся на то, что почти никто не показывал адекватный, удобный для изменения и дополнения модульный механизм работы с сервисом.

Ну, я показывал ещё в 2012-м году. Удобный для изменения и дополнения и, смею надеяться, адекватный. Смотрели?
2. Yashazz 4794 05.04.20 20:45 Сейчас в теме
Да и вообще, на этом поприще столько хороших грамотных разработок сделано, разными авторами, что "почти никто" хочется отнести на счёт неудачно или неумело выполненного поиска. Ибо их тут и на других ресурсах было вполне себе. И модульность делали разную, и универсальную генерацию кода js делали, и через eval пробовали, короче говоря - дофига.

Причём, в отличие от этой публикации, во многих случаях всё было выложено открыто и бесплатно.
dock; swenzik; +2 Ответить
3. insurgut 208 06.04.20 10:25 Сейчас в теме
(2) а можно ссылку? Все, что не находил - на деле либо не работает в текущий момент, либо работает не внутри 1С (открывая вкладки браузера). Ни одной корректно работающей обработки, которая возвращает маршрут по списку адресов, вроде нет, только на ветер $m выбрасываются.
Segate; Светлый ум; +2 Ответить
5. Segate 265 06.04.20 12:34 Сейчас в теме
(3) добавил планер маршрута.
(4) Сейчас реализован только стандартный RoutePlaner Который строит маршрут между двумя точками. Multiroute если надо могу собрать,
Но проще его сделать добавлением строк в 1с, а отрисовкой их на карте. Т.к. существующей контрол панельки для мультироута нет.
В ближайшем будущем в плане нариовать виджет для карты =)
Если подробнее опишите задачу, возможно реализую так как нужно вам =) если это не противоречит моей задаче
6. insurgut 208 06.04.20 14:18 Сейчас в теме
(5) задача самая простая и востребованная для 1С. Есть список адресов. Есть начальная точка маршрута (наша организация) и конечная (тоже наша организация). Нужно проложить кратчайший маршрут.

Начальная точка: Наша организация
Точка 1: адрес 2
Точка 2: адрес 5
Точка 3: адрес 1
Точка 4: адрес 3
Точка 5: адрес 4
Конечная точка: Наша организация
7. Segate 265 06.04.20 14:53 Сейчас в теме
(6) Если у вас есть понимание последовательности обхода точек, т.е. сначала мы идем в точку 1, затем 2,... и в конце 5,
То это не сложно и я сделаю пример сегодня к вечеру...
Но если вас интересует решение задачи коммивояжера, то в рамках яндекса - этот сервис платный, нужно покупать подписку. подробнее здесь: https://yandex.ru/dev/routing/vrp/
8. insurgut 208 06.04.20 15:24 Сейчас в теме
(7) я думаю, интересует решение задачи как раз бесплатно :) Наверное я слишком общую задачу написал. Конкретно не хватает функции, которая вернет расстояние между двумя точками. Или может Яндекс умеет отдавать сразу матрицу расстояний? Тогда было бы совсем круто и удобно получить по списку адресов сразу матрицу расстояний, но это не принципиально. Получение расстояния между двумя адресами более чем достаточно. Яндекс вроде это умеет делать на бесплатной основе?

Строим для N-адресов матрицу расстояний, используя функцию, которой не хватает. Дальше уже сами решаем задачу собственными силами как угодно :)
9. Segate 265 06.04.20 15:42 Сейчас в теме
(8) Насколько я знаю, бесплатных адекватных алгоритмов решения популярных нп-полных задач не существует...
Тарифы
Для сервиса «Матрица расстояний и Построение маршрутов между двумя точками» нет бесплатной версии. Чтобы использовать сервис нужно подключить коммерческую лицензию.

Для продукта «Матрица расстояний и Построение маршрутов между двумя точками» доступны два вида лицензии: стандартная и расширенная. При использовании стандартной лицензии запрещается сохранять или изменять данные, полученные через API. В расширенной лицензии это ограничение снято.

Стоимость лицензии зависит от количества запросов к сервису.


Если вы готовы покупать лицензию, мы можем обсудить реализацию сервиса отдельно...
10. insurgut 208 06.04.20 16:16 Сейчас в теме
(9) я же уже написал, неправильно написал. Забудьте про задачу :) Вопрос - можно добавить в данную разработку функцию получения расстояния (в метрах) между двумя адресами?
Вот тут вроде описано: https://yandex.ru/blog/mapsapi/rasstoyanie-mezhdu-tochkami-v-peremennuyu
11. Segate 265 06.04.20 17:17 Сейчас в теме
(10) добавил вывод длинны активного маршрута в реквизит формы
insurgut; +1 Ответить
13. shard 281 07.04.20 00:26 Сейчас в теме
(8) если в матрицу расстояний записывать время в пути с учетом пробок, то весьма вкусно может получиться
14. Segate 265 07.04.20 17:10 Сейчас в теме
(13) основная проблема в этом решении в невозможности реализации его не коммерчески при сколько нибудь объемных масштабах.
Из-за того, что путь из точки "а" в точку "б" совсем не обязательно равен пути из точки "б" в точку "а", сложность задачи и количество запросов растет слишком быстро, и по факту бесплатной версии апи хватит на расчет 5-10 не особо сложных маршрутов из максимум 5 точек... если, внезапно, точек будет хотя бы на одну-две побольше - то количество маршрутов резко сократиться, что не особо применимо в рамках промышленного решения
15. shard 281 07.04.20 22:57 Сейчас в теме
(14) то есть бесплатный api ограничивает и количество запрашиваемых маршрутов из двух точек? Уточняю, т.к. не работал с картами в этом контексте.

уточнил:
В API установлен суточный лимит на использование сервисов геокодирования, маршрутизации и панорам Яндекса. Для бесплатной версии API лимит составляет 25 000 запросов в сутки. Подробнее о том, какие запросы входят в этот лимит, см. в таблице ниже.

25000 это примерно 200 маршрутов из пяти точек обсчитать - вполне хватит, имхо
21. V.Nikonov 120 07.05.20 19:42 Сейчас в теме
(15) Задачу Коммивояжора в первом приближении можно решить используя географические координаты точек маршрута... При этом в первом приближении получить последовательность точек удаляясь от Фиксированной стартовой.
Соответственно можно считать сформированной таблицу:
№пп Тчк Широта Долгота (Адрес)

Можно вывести такой маршрут с расчётом пробега на автомобиле? Укладывается в бесплатную лицензию?
22. shard 281 08.05.20 00:13 Сейчас в теме
(21) Для одного автомобиля бесплатного лимита более чем достаточно, имхо.
Географические координаты обычно лишние, т.к. маршрут строится по адресам. Для построения матрицы расстояний на n=5 точек (без разницы, в километрах или часах) нужно 20 запросов маршрутизации (в предыдущем посте протупил: почему-то думал там n! а не n^2-n). Задача коммивояжера - попробуйте сами исходя из размера автопарка и длины маршрутов.
23. V.Nikonov 120 10.07.20 21:28 Сейчас в теме
(22) Среднестатистический маршрут содержит 15-25 точек. На многих предприятиях таких маршрутов может быть десяток и более.
12. Yashazz 4794 06.04.20 21:50 Сейчас в теме
18. Russian_Santa 17 01.05.20 21:09 Сейчас в теме
19. Segate 265 02.05.20 08:33 Сейчас в теме
(18) там в посте ниже рассказывают, что нужно не просто построение маршрута, а решение задачи комивояжера, и бесплатно )
20. Russian_Santa 17 02.05.20 08:37 Сейчас в теме
(19)бесплатно?:)а отвечал я на сообщение в котором вы говорили что не было ни одного работающего на данный момент,либо открывающее вкладки и т.п.
4. Светлый ум 423 06.04.20 11:53 Сейчас в теме
В маршруте точки нумеруются?
16. Deniskinr83 49 30.04.20 20:24 Сейчас в теме
Здесь https://infostart.ru/public/1204568/ метки адресов нумеруются, рассчитывается длина маршрута между точками.
17. Segate 265 01.05.20 10:15 Сейчас в теме
(16) на данный момент мультимаршрут - это не приоритетная задача. т.к. из за специфики проекта, упор делается именно на геометрию и выделение областей, а так же дальнейшую работу с ними(площадь пересечения, попадание точки в области, и тд)
Как только все расчеты геометрии будут закончены, я добавлю планер мультимаршрута, возможно попытаюсь сделать простенькие матрицы расстояний и тд.
24. RustIG 1749 12.11.21 15:17 Сейчас в теме
(16) раздвоение личности: Денискинр83 и Денр83?...
Оставьте свое сообщение