Удобное API для работы с Yandex картами (8.1, с незначительными доработками 8.2) + Пример использования


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

Вашему вниманию предлагаю API + Пример использования в прикладном решении.

Общее описание

API находится в Модуле обработки, пример использования в модуле формы.

API осуществляет:

  1. Геокодирование (преобразование адреса в координаты).
  2. Генерацию HTML кода для отображения в поле HTML документа.
  3. Поддерживается настройка цвета и вида отображаемой метки.

Принцип работы


1. Получить пустую ТЗ для заполнения с помощью функции: ИнициализироватьТЗАдресов функция в качестве параметров может принять уже существующую ТЗ, в этом случае в ТЗ будут добавлены необходимые колонки (Проверка на существования колонок не осуществляется). 

Структура ТЗ:

  • "Адрес"
  • "Широта"
  • "Долгота"
  • "ТипМетки"
  • "ЦветМетки"
  • "ОписаниеМетки"
  • "ДополнительноеОписание"

2. Заполнить ТЗ добавив адреса которые необходимо отобразить на карте, Широту и Долготу можно не указывать они будут заполнены позже, при вызове функции: "ПолучитьHTMLСУстановленнымиМетками". При желании можно вызвать геокодер отдельно через "ПроверитьИЗаполнитьКоординатыДляАдресовИзИсточника" на вход процедура принимает ТЗ. 

Так же для каждого адреса можно установить тип и цвет метки а так же дополнительную информацию для отображения на карте.

3. Вызвать функцию: ПолучитьHTMLСУстановленнымиМетками - данная функция вернёт код для отображения в поле HTML;

 

Тестовый пример:

Позволяет ввести список адресов в ручную или импортировать его из поля табличного документа (вкладка  Импорт).

 

При разработке использовались материалы с сайта Yandex и исходные коды нескольких похожих обработок с Infostart.

Файлы обработки:

-