Работа с картами 1С 4 в 1: Яндекс, Google , 2ГИС, OpenStreetMap(OpenLayers)
Данная обработка демонстрирует возможности интеграции 1С с картографическими сервисами. Поскольку уже было опубликовано немало обработок на эту тему, я, чтобы не повторяться, решил собрать в одну обработку интересные и нужные функции из 4 сервисов:
Обновление 03.06.2020.
[*] Добавлен вывод информации о маршруте в управляемых формах [*] Google - изменен адрес скрипта закгрузки карты, опимизация для открытия карты на старых платформах (на движке IE) [*] OSM - дорабтка рисования маршрута на OSRM под изменения API
Обновление 29.07.2019.
[*] В связи со скорым отказом Яндекса от использования анонимных вызовов API-JS и геокодирования доработана инициализация карты с использованием API-ключа(неправильно передавался параметр). [*] Доработан геокодер яндекса - если указан API-ключ, то геокодирует с ним. [*] Для геокодера Яндекса добавлен формат JSON. [*] Исправлена проблема с переинициализацией карт в управляемых формах в тонком клиенте.
Обновление 13.02.2019.
Обновление 29.07.2016.
[*] Отказ от использования метода eval() в обычных формах [*] Перевод работы макетов в режим совестимости IE=9 и больше - открываются больше возможностей карт и меньше ошибок. [*] Перевод 2GIS на API 2.0 [-] 2GIS - в версии 2.0 отсутствует встроенный js-геокодер [*] Google-map - исправлена проблема с кластеризатором [-] На версиях 1С ниже 8.3.7 при повторном открытии возможно отключене функционала HTML-документа. Скорее всего это внутрення ошибка платфрмы, которые исправлена в более поздних версиях.
Обновление 23.02.2016.
[*] Исправление ошибок в картах Яндекса и Гугл.
Обновление 10.01.2013.
Поддержка работы обработки в тонком и веб-клиенте. Но там поддерживается работа только трех поставщиков услуг - Яндекс, Google. Рамблер. 2ГИС выбыл из гонки, потому, что клик на элементе формы в 1С срабатывает раньше клика в JS, поэтому координаты метки не считываются. А событий в HTML-поля в управляемых формах очень мало - двойного клика нет. Также добавлена возможность построить полигон по выбранным точкам. В тонком клиенте работа HTML-поля бывает некорректна - это уже особенности платформы.
Вот список возможностей сервисов, которые я пытался интегрировать с 1С:
- Инициализация карты
- Поиск адреса на карте с текстовым представлением
- Геокодинг
- Обратная поиск адреса по ее координатами
- Взаимодействие с картами - прием координат установленного на карте метки
- Построение маршрутов по указанным точками
- Кластеризация меток на карте при увеличении масштаба
- Построение полигона по всем меткам на карте
- Построение выпуклого полигона по крайним меткам
Ну а теперь подробно по каждому сервиса
Web-версия. API Яндекс-карт. На текущий момент используется версия API 2.0. Возможности обработки при работе с Яндекс-картами:
- Инициализация карты - ДА ;
- Отсутствие API-ключа - ДА ;
- Поиск адреса на карте с текстовым представлением - ДА ;
- Геокодирование - ДА ;
- Обратный поиск адреса по его координатами - ДА ;
- Взаимодействие с картами - прием координат от установленной на карте метки - ДА (клик на карте) ;
- Построение маршрутов по указанным точками - ДА ;
- Кластеризация меток на карте при увеличении масштаба - ДА ;
Google-карты Web-версия. API Google- карт. На текущий момент используется версия API v3. Возможности обработки при работе с Google-картами:
- Инициализация карты - ДА ;
- Отсутствие API-ключа - ДА ;
- Поиск адреса на карте с текстовым представлением - ДА ;
- Геокодирование - ДА ;
- Обратный поиск адреса по его координатами - ДА ;
- Взаимодействие с картами - прием координат от установленной на карте метки - ДА (клик на карте) ;
- Построение маршрутов по указанным точками - ДА (до 10 точек, включена оптимизация промежуточных точек) ;
- Кластеризация меток на карте при увеличении масштаба - ДА ;
2ГИС-карты Web-версия. API 2ГИС- карт. На текущий момент используется версия API 1.0. Возможности обработки при работе с 2ГИС-картами:
- Инициализация карты - ДА ;
- Отсутствие API-ключа - НЕТ ;
- Поиск адреса на карте с текстовым представлением - ДА ;
- Геокодирование - ДА (но нужен API-ключ) ;
- Обратный поиск адреса по его координатами - ДА ;
- Взаимодействие с картами - прием координат от установленной на карте метки - ДА (клик на карте) ;
- Построение маршрутов по указанным точками - НЕТ ;
- Кластеризация меток на карте при увеличении масштаба - НЕТ ;
Рамблер-карты (проект умер, оставляю в статье для памяти) Web-версия. API Рамблер- карт. На текущий момент используется версия API 1.x. Возможности обработки при работе с Рамблер-картами: