gifts2017

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

Опубликовал Евгений Женкевич (77dream77) в раздел Обработки - Универсальные обработки

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

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

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

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

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

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

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

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

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

Наименование Файл Версия Размер
ОпределитьРайонКонтрагента.epf 20
.epf 40,50Kb
20.10.12
20
.epf 40,50Kb Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. Максим Волков (maxlenium) 28.10.12 12:55
2. Олег Шалимов (CaSH_2004) 09.03.13 19:05
3. Алексей Голосеев (Aleksey81) 29.08.13 21:19
Если не трудно, расскажи как распространить обработку на другие города?
4. Евгений Женкевич (77dream77) 04.09.13 14:05
в строке 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
});

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