Google maps — получение координат по адресу, отображение на карте и корректировка адреса перемещением маркера
Обработка позволяет по адресу определять координаты (использовал Яндекс — по России, Украине лучше работает говорят), по координатам устанавливать маркер с возможностью перемещения по карте для уточнения адреса — новые, уточненные координаты возвращаются в форму в процессе перемещения маркера.
В обработке мало кода, всё просто и понятно, такого готового решения я не нашел, поэтому пришлось писать самому, дёргая из инета части. Думаю, что многим пригодится.
по ключевому слову «геокодирование» легко находятся аналоги:
http://infostart.ru/public/88033/
http://infostart.ru/public/98156/
http://infostart.ru/public/19962/
http://infostart.ru/public/20005/
(1) Serj1C, с геокодированием как раз меньше всего проблем — этого добра хватает, мне нужно было получить возможность с помощью маркера вносить уточнение в координаты, что и было сделано. А геокодирование как сопутствующий функционал.
Народ, отпишитесь, 22 скачивания и один комментарий 🙂
Помогло хоть кому то?
Немного не то, что хотелось бы. Ищу способ получить данные маркера через событие «ПриНажатии» поля HTML документа. Уже нашёл как привязывать событие нажатия на маркер к нажатию на документ, но не могу выцепить свойства маркера. Думал автор справился, но в его примере не реализован функционал определения того, координаты какого маркера поменялись, если их несколько
(4) logos, появится время — посмотрю, что можно сделать — не думаю, что это будет сложно. Сейчас загружен очень.
Оказалось довольно сложно, как вылижу — сделаю свою публикацию
(3) Хорошая штука! Помогло. Как раз искал что-то подобное.
Кстати, заметил что широта и долгота отображаются наоборот.
То что является широтой пишется в поле долгота и наоборот.
(8) Spacer, ну там были с этим приколы — гугл писал в одном порядке, яндекс в другом, потом кажется кто то поменял порядок
Хороший пример, как для начала. Плюсик палюбому.
Но — проблемка. Иногда (не всегда!) начинает раз за разом «вылетать» 1С-ка на строках
HTTPСервис = Новый HTTPСоединение(«geocode-maps.yandex.ru»,,,,, Ложь);
либо
ЭлементыФормы.ПолеHTMLДокумента.УстановитьТекст(ТекстHTML);
1С:Предприятие 8.2 (8.2.17.153), обычные формы, Виндовз Сервер 2003.
Кто-нибудь поборол?
Очень помогло, спасибо! потом поделюсь получившейся в итоге окончательной формой ввода географических координат, если будет интересно коллегам.
Внесу небольшие изменения. Во-первых это https. Надо последним параметром при создании HTTP соединения передавать тип соединения:
Дальше. Я, например, не люблю без крайней необходимости дергать диск и сохранять результат через файловую систему. Для этого меняем конструкцию запроса:
Показать
Таким образом, функция «YandexGeoCodeGet» уже сразу возвращает текст XML.
Соответственно вместо
Ставим
где СтрокаXML это то, что вернула функция.