Определение района Краснодара по адресу



Обработка умеет определять район города по введенному адресу, используя Яндекс.Карты.

Нужно было распределить контрагентов по районам для оптимизации работы службы доставки.

Вариант с каким-нибудь регистром, в котором хранится соответствие адреса и района сразу отпал, т.к. адресов много. В адресном классификаторе тоже нет такого поля.

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

Обработка писалась по УПП, но будет работать в любой базе, т.к. адрес можно вводить руками, а не только выбирать из адресов контрагента.

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

Кнопка перенести данные забирает значение района из этого поля.

Если вам нужна подобная вещь, то единственное, что нужно сделать, это в коде HTML переопределить координаты районов для своего города.

4 Comments

  1. maxlenium

    Привет Краснодару!

    Reply
  2. CaSH_2004

    Присоеденяюсь к (1)

    Reply
  3. Aleksey81

    Если не трудно, расскажи как распространить обработку на другие города?

    Reply
  4. 77dream77

    в строке map.setCenter(new YMaps.GeoPoint(39.0032,45.038224), 12); нужно поставить координаты своего города.

    в макете обработки МакетТекстаРайонов

    в строках определения полигонов

    polygon.name = «Северный»;

    YMaps.Events.observe(polygon, polygon.Events.Click, function () {

    window.location = ‘#sity1’

    });

    map.addOverlay(polygon);

    var polygon1 = new YMaps.Polygon([new YMaps.GeoPoint(38.994632, 45.139409), new YMaps.GeoPoint(38.994374, 45.135764), new YMaps.GeoPoint(38.997979, 45.135643), new YMaps.GeoPoint(38.998516, 45.139242), ], {

    style: «polygon#Example»,

    hasHint: 1,

    hasBalloon: 0

    });

    задаешь имя своих районов и ниже координаты вершин многоугольника районов.

    Reply

Leave a Comment

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