Геокодирование и обратное геокодирование в 1С. Управляемое приложение


Обработка на управляемых формах.
Две закладки.
Первая — пример геокодирования.
Вторая — пример обратного геокодирования

Обработка на управляемых формах.

Получает GPS-координаты (широту и долготу) указанного адреса, используя геолокационные сервисы Google Карты. 
Преобразует адрес в координаты, а также координаты в адрес. 

Обработка может быть подключена к любой 1С-конфигурации и выдавать информацию автоматически по команде из конфигурации.

Две закладки:

  • Первая — по строчному адресу — получаем координаты точек (так же можем узнать расстояние между двумя адресами)
  • Вторая — по GPS-координатам получаем адрес (с разбивкой на страну, город, область, район и т.д.)

В планах: Позволяет уточнить рассчитанные координаты вручную при перетаскивании метки на карте, 
открывающейся в дополнительном окне.

Пример применения и использования кода: 

Магазин часов… Заходит клиент и на рекламной брошюре увидел часы, спрашивает у продавца — есть ли в наличии… Если нет, то продавец оперативно отвечает где ближайший магазин, в котором есть данный товар… Рассчитать расстояние от магазинов, где есть товар и показать ближний… 

А в общем возможностей крутить данный код — множество… 

Не ставил задачу реализовать конкретную задачу, просто быстрый и интуитивно понятный пример, как без больших затрат на трафик — получить данную инфу.


Update 10.07.2025

Убрал потребность в ключе. 
Изменил технологию чтения ХМЛ.
Провел обработку исключений.

20 Comments

  1. Yashazz

    Ух, какая штука! Чем пользуетесь? Каким-то сервисом или всё сами?

    Reply
  2. Fenicss

    Я как понимаю к картам привязки никакой нет?? Откуда берутся координаты (вручную вводим или с устройства)? Чуть чуть бы побольше описания обработки было лучше.

    Reply
  3. mzelensky

    Присоединюсь к (1) и (2) посту — очень интересная штука. Но нигде не написано как именно идет расчет.

    Reply
  4. bforce

    На описание автор поскупился, а могла бы получиться хорошая статья, которая вероятно была бы в топе.

    Reply
  5. revil

    Обработка 1С 8.2.

    Получает GPS-координаты (широту и долготу) указанного адреса, успользуя геолокационные сервисы Яндекс.Карты.

    Преобразует адрес в координаты, а также координаты в адрес.

    Позволяет уточнить рассчитанные координаты вручную при перетаскивании метки на карте,

    открывающейся в дополнительном окне.

    Обработка может быть подключена к любой 1С-конфигурации и выдавать информацию автоматически по команде из конфигурации.

    Вопросы и предложения по доработке просьба отправлять на acepost@mail.ru или aceregid.livejournal.com

    Reply
  6. mzelensky

    (5) ты добавь это в описание.

    Reply
  7. revil

    Я не автор 🙂

    Reply
  8. Alexander.Shvets

    Описание подправлю.

    (7) revil, «при перетаскивании метки на карте, открывающейся в дополнительном окне.» Думал реализовать, но ручки не дошли. Доработаем 😉 А если есть желание дорабатывать своими ручками — буду признателен за ссылочку на источник 😉

    (2) Fenicss, Вручную, но ничто не мешает подключить внешние событие и передавать координаты с устройств.

    (3) mzelensky, Расчет расстояния ведется математическим способом с учетом окружности Земли. Можно заставить считать сам сервис, если на то есть желание…

    (1) GoogleMaps API. Такой же подход работает и на остальных подобных сервисах (Яндекс и т.д.)

    (4) bforce, Подправил описание. После модерации — обновится 😉

    Reply
  9. maxlenium

    Обработка интересная. Но складывается впечатление, что мир заново родился. В предыдущие годы было множество схожих разработок по геодированию и отображению карт. Обратное же геокодирование, скорее всего, представлено впервые.

    Reply
  10. Иной

    Собственно интересуют возможности применения. То есть можно ли рассчитать расстояние по маршруту, который будет состоять из точек не линейно (от точки к точке), а с привязкой к дорогам?

    Reply
  11. Alexander.Shvets

    (10) Иной, Возможности — на сколько хватит фантазии… =) Обработка предназначена для программиста 1С, так как за готовое решение конкретных задач берется денюжка =)))

    Пример применения и использования кода:

    Магазин часов… Заходит клиент и на рекламной брошуре увидел часы, спрашивает у продавца — есть ли в наличии… Если нет, то продавец оперативно отвечает где ближайший магазин, в котором есть данный товар… Расчитать расстояние от магазинов где есть товар и показать ближний…

    А в общем возможностей крутить данный код — множество…

    Не ставил задачу реализовать конкретную задачу, просто быстрый и интуитивно понятный пример, как без больших затрат на трафик — получить данную инфу.

    На счет маршрутов — возможность такая есть. Постараюсь добавить в следующем релизе обработки. Правда за оперативность не отвечаю. =)))

    Reply
  12. CagoBHuK
  13. Иной

    (12) CagoBHuK, Ну почему же так сразу, человек же даёт свое решение, можно сказать, открыто. А не продаёт за денюжку =), если я правильно понял.

    Это просто инструментарий для разработчика.

    Reply
  14. Yashazz

    (8) Тю-ю… Чужим сервисом пользоваться для геокодирования — это уж баян. Полезный, нужный, но баян…

    Reply
  15. Alexander.Shvets

    (14) Ну, перед такой жесткой критикой — открываем код и смотрим на методы… =)

    Конечно суть задачи — действительно дело давнее… Но вот реализация задач никогда не стоят на месте. =)

    Все таки сам искал что-то подобное, маленькое и оптимизированное… Но находил обработины, которые по стопятсот раз отправляли запросы/синхронизировались/забивали временную папку не нужным хламом… У меня кроме оперативы не юзается больше ничего… Никаких длл… Единственное что надо — доступ в инет…

    Может кому и пригодиться 😉

    Reply
  16. Yashazz

    (15) Дык я ж не в упрёк, а скорее от расстройства. Вот скажите, как вы решали вопрос множественного геокодирования — у Гугла есть единая функция, возвращающая результаты при обычном синхронном вызове, или вам пришлось постараться это сделать? Я недавно решал такую задачу для Яндекс API, там пришлось извращаться, с тех пор ищу, может, есть более красивое решение.

    Reply
  17. Annjko

    Ребята, подскажите пожалуйста — ключ гугла не рабочий — где б взять?

    Reply
  18. irtk

    {Форма.Форма.Форма(295)}: Object field not found (Улица)

    Улица = СтруктураЗаполнения.Улица;

    что же делать?

    Reply
  19. Alexander.Shvets

    (18) irtk, К сожалению, используемый в обработке гугл-ключ не активный. Для работы — его нужно получить на сайте Гугла. Обновлю и добавлю поле ввода в обработке для ключа

    Reply
  20. Alexander.Shvets

    (18) irtk, После проверки модератором — скачайте обработку. теперь работает без ключа

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *