Работа с картами 1С 4 в 1: Яндекс, Google , 2ГИС, OpenStreetMap(OpenLayers)

Работа с картами 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. Возможности обработки при работе с Рамблер-картами:

📎📎📎📎📎📎📎📎📎📎