gifts2017

Узнать районы Москвы, используя API Яндекс.Карт

Опубликовал Александр Шакмаев (shakmaev) в раздел Программирование - Практика программирования

Совсем недавно поставили задачу объединить адреса доставки по районам и округам. Чтобы отделу логистики для доставки было проще подыскивать транспорт. В интернете по этому поводу мало информации, поэтому я решил выложить сюда свои труды, авось кому пригодится.

Выкладываю внешнюю обработку с экспортом функции. Поиск района и округа Москвы осуществляется с помощью API Яндекс.Карты.
Функция обрабатывает адрес и возвращает таблицу значений с двумя столбцами: округ и район - кому как пригодится.
Я использовал ее так: в журнале определенных документов, где в форме списка у меня строки красятся в цвет округа, а сам округ хранится в реквизите "Округ" документа.


Если кому интересно, делаю вот так:

Если ДанныеСтроки.Округ = "ЦАО" Тогда
 
ОформлениеСтроки.ЦветФона = WebЦвета.Розовый;
ИначеЕсли
ДанныеСтроки.Округ = "САО" Тогда
 
ОформлениеСтроки.ЦветФона = WebЦвета.СинеСерый;
ИначеЕсли
ДанныеСтроки.Округ = "СВАО" Тогда
 
ОформлениеСтроки.ЦветФона = WebЦвета.СветлоЖелтый;
ИначеЕсли
ДанныеСтроки.Округ = "ВАО" Тогда
 
ОформлениеСтроки.ЦветФона = WebЦвета.СветлоГрифельноСиний;
ИначеЕсли
ДанныеСтроки.Округ = "ЮВАО" Тогда
 
ОформлениеСтроки.ЦветФона = WebЦвета.Коралловый
ИначеЕсли ДанныеСтроки.Округ = "ЮАО" Тогда
 
ОформлениеСтроки.ЦветФона = WebЦвета.Желтый;
ИначеЕсли
ДанныеСтроки.Округ = "ЮЗАО" Тогда
 
ОформлениеСтроки.ЦветФона = WebЦвета.СветлоГрифельноСерый;
ИначеЕсли
ДанныеСтроки.Округ = "ЗАО" Тогда
 
ОформлениеСтроки.ЦветФона = WebЦвета.СветлоЗеленый;
ИначеЕсли
ДанныеСтроки.Округ = "СЗАО" Тогда
 
ОформлениеСтроки.ЦветФона = WebЦвета.Красный;
ИначеЕсли
ДанныеСтроки.Округ = "ЗелАО" Тогда
 
ОформлениеСтроки.ЦветФона = WebЦвета.ЗеленыйЛес;
КонецЕсли;


   

Отдел логистики с помощью подбора формирует неким образом доставочный лист по округам. В этом листе я отображаю все точки доставки на карте и распечатанный листок попадает водителю. В общем все довольны.


Вот, собственно, сама идея. Если появились вопросы, пишите.

Скачать файлы

Наименование Файл Версия Размер
Файл обработки 90
.epf 7,24Kb
13.08.15
90
.epf 7,24Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Alex Stasyuk (GreenFox) 11.05.12 10:51
Посмотрим, может и пригодится, но я больше все таки склонен работать с Гуглом.
2. sws sws (Wladymyr) 12.05.12 22:54
Спасибо за труд. Поддерживаю: информации 1с + карты Google, Yandex и т.д. очень мало, наверное из за гео-карт 1с. Сам делал проект 1c8.2+VB+GoogleMaps. В итоге получилось "Возможности GoogleMaps"+"
Окошко 1с" ))).
3. Сергей Сергей (26178@mail.ru) 14.11.12 02:32
как проверить входит ли точка в многоугольник созданный функцией
var polygon = new YMaps.Polygon([ new YMaps.GeoPoint(37.7,55.7),
new YMaps.GeoPoint(37.7,55.8),
new YMaps.GeoPoint(37.8,55.8),
new YMaps.GeoPoint(37.8,55.7),
new YMaps.GeoPoint(37.7,55.7)
]);

map.addOverlay(polygon);
4. megatrend - (megatrend) 03.09.13 14:58
Хорошая обработка. Но с формой она смотрится гораздо лучше.
5. Максим Сафонов (maXon777) 20.10.16 18:29
Выдает ошибку "Произошла исключительная ситуация (msxml3.dll). Отказано в доступе"
Не подскажите в чем может быть дело? (на трех разных компьютерах, ОС)