Клуб API Карт

Определение границ региона по городу

Пост в архиве.
bitrixdev
17 декабря 2012, 15:27

 

Всем привет! 

Есть такая задача.

Дан город (например Москва). 

Есть строка поиска по адресу.

При вводе адреса в поиск необходимо ограничить поиск  по границе региона к которому относится город (Москва) т.е. Московской Областью.

 

Вначале решил сделать с помощью модуля "Регионы" с помощью следующего алгоритма:

1. Пролистать все регионы, получить их границы в формате Base64

2. Проверить с помощью функции contains принадлежность города к региону.

3. В случае успеха, (т.е. город принадлежит региону) поверх региона рисуем прозрачный полигон и им ограничиваем область поиска

 

Все бы хорошо, но во Владивостоке обнаруживается такая вот шляпа:

 

Т.е. получается половина Владивостока лежит за пределами России ))) 

И поиск в этом городе не работает =((

 

Вопрос: как можно доработать этот алгоритм, или может быть есть более лучший для реализации этой задачи?

3 комментария

Модуль регионы сейчас содержит очень грубые данные.

Он просто для других целей предназначен.

В вашем алгоритме наверное лучше смотреть в сами результаты, там есть текстовое описание того где что-то нашлось.

Спасибо за ваш ответ!

Но как по текстовому описанию найти границы области на карте?

Не совсем понятно что вы хотите сделать.

Отфильтровать результаты геокодера или наложить полигон на карту.