Добрый день
Идея не нова - получить адрес в строку, ткнув на Я.Карте мышкой.
Реализация:
- на форме лежит поле Html документа
- пользователь видит Я.Карту
- тыкает по интересующему объекту на карте мышкой. Ставится точка на карте, куда пользователь ткнул
- со стороны 1С перехватываются координаты
- дальше эти координаты отправляются на сервис dadata.ru - обратное геокодирование (API https://dadata.ru/api/geolocate/ )
В результате пользователю показывается или полученный адрес, или координаты (если сервис не смог найти адрес)
Если пользователь согласен с тем, что предлагается, то нажимает Да - и при закрытии формы передаются все параметры, которые возвращается dadata.ru (параметров много. Все на скриншоте не влезли)
Почему так?
На сейчас API яндекса стоит - 174000 год
А у dadata.ru максимальный тариф - 44000 год
(https://dadata.ru/pricing/)
Дата цен 26,08,2028 !
Да-да... у Яндекса методов в API на порядок больше, но и надо то - обратное геокодирование ...
В коде реализованы методы
- инициализация карты с автоматическим центрированием карты по нескольким городам (цель: сотруднику из Краснодара гораздо приятнее, если карта при открытии будет позиционироваться на центре Краснодара, а не Москвы. Для нашей компании - регион определятся по фактическому трудоустройству сотрудника)
- функция создания события нажатия на точку на карте (со стороны макета-карты)
- функция отрисовки точки на карте в месте клика (со стороны макета-карты)
- функция стирания предыдущих кликов (со стороны макета-карты)
- позиционирования в любой точке по координатам (+масштаб выставляемого центра) (со стороны макета-карты)
- событие ловли клика по карте (со стороны 1С)
- событие получение адреса строки через координаты от Яндекса по API dadata.ru (со стороны 1С)
Код открытый
В макете используются 3 ключа!!!
- Ключ1 - яндекса. Самим Яндексом используется только для инициализации карты. Поэтому он в макете забит как 123456-78 и тд.
- Ключ2 - dadata.ru - Token - получить можно после регистрации в ЛК сайта.
- Ключ3 - dadata.ru - SecretKey - получить можно после регистрации в ЛК сайта.
Все ..
Спасибо
Всем приятного дня
П.С.
Тестировалось на УНФ 1.6
К конфигурации не привязано, работает через Файл - Открыть
Работать будет на любой конфигурации
Проверено на следующих конфигурациях и релизах:
- Управление нашей фирмой, редакция 1.6, релизы 1.6.24.92