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

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

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

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

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

   

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

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

6 Comments

  1. GreenFox

    Посмотрим, может и пригодится, но я больше все таки склонен работать с Гуглом.

    Reply
  2. Wladymyr

    Спасибо за труд. Поддерживаю: информации 1с + карты Google, Yandex и т.д. очень мало, наверное из за гео-карт 1с. Сам делал проект 1c8.2+VB+GoogleMaps. В итоге получилось «Возможности GoogleMaps»+»

    Окошко 1с» ))).

    Reply
  3. 26178_mail.ru

    как проверить входит ли точка в многоугольник созданный функцией

    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);

    Reply
  4. megatrend

    Хорошая обработка. Но с формой она смотрится гораздо лучше.

    Reply
  5. maXon777

    Выдает ошибку «Произошла исключительная ситуация (msxml3.dll). Отказано в доступе»

    Не подскажите в чем может быть дело? (на трех разных компьютерах, ОС)

    Reply
  6. igorkarmanovich157

    (5) С тех пор как была выложена обработка видимо поменялась строка запроса к апи яндекса и теперь она выглядит следующим образом:

    https://geocode-maps.yandex.ru/1.x/?apikey=<Ваш API-ключ>&geocode=Москва,+Тверская+улица,+дом+7

    Reply

Leave a Comment

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