Для работы с картой вставляем в общий модуль (сервер, вызов сервера) конфигурации текст, хранящийся в файле "NSI_РаботаСКартой.txt", а в общие макеты - текстовый документ, содержащийся в "NSI_МакетКартыGoogle.txt".
Карта возвращается в виде HTML-кода готового для вставки в строковый реквизит формы, выведенный на форму в виде HTML-поля.
Заполняется данный реквизит следующим образом:
Карта = NSI_РаботаСКартой.ПолучитьКартуGoogle(ТаблицаТочек, ОтображатьИнфоокноПриНаведении);
Параметры функции:
Таблица выводимых точек - таблица, созданная методом: ТаблицаТочек = NSI_РаботаСКартой.СоздатьТаблицуДляПередачиКоординат();
Таблица содержит следующие поля:
Широта - число, в поле должна быть передана широта в координатах Google
Долгота - число, в поле должна быть передана долгота в координатах Google
Цвет - строка, указание маркера, используемого для обозначения точки. Здесь может быть либо ссылка на маркер, начинающаяся с "http", либо название одного из цветов - gray, green, orange, purple, red, white, yellow, black, blue, brown. В первом случае выводится маркер, указанный по ссылке, во втором случае - маленькая капелька требуемого цвета с тенью.
Текст - строка. HTML-текст всплывающей подсказки.
НавигационнаяСсылка - строка. Навигационная ссылка на объект, открываемый при нажатии на маркер в случае, если карта сформирована на появление всплывающего окна по наведению мыши.
При обработке щелчков мыши можно использовать следующие данные, получаемые конструкцией - Элементы.Карта.Документ.getElementByID(ИмяПараметра).value
Используются следующие параметры:
ref - Навигационная ссылка, переданная нажатым маркером (для случая, когда информационное окно всплывает автоматически при наведении). В случае щелчка по маркеру в таком режиме элементу в 1С передается нажатие на элемент с id = "ref".
CenterLat, CenterLong, Zoom - соответственно широта, долгота точки центра и величина зума окна карты
HelpText - если функция отображения информационного окна при наведении отключена, то при щелчке по маркеру (если инфополе не открыто) система обрабатывает клик по элементу с id="HelpText", а потом забирает из Элементы.Карта.Документ.getElementByID("HelpText").value сформированный текст инфоокна. Если инфополе уже открыто, то щелчок по маркеру его закрывает.
Показывать информационное окно при наведении - булево. Если Истина, то при наведении на маркер открывается инфоокно с текстом, переданном в поле Текст соответствующей точки таблицы, если Ложь, то отрабатывает механизм, описанный выше (для поля HelpText).
Немного путано, но основной функционал показан в файле "Пример работы с картой". Перед запуском обработки вставьте первые два файла в модуль и макет соответственно.