Расстояние до МКАД (API Яндекс.Карт)

Бюджет: по договоренности
Заказчик выбрал исполнителя:
Арсений Новиков  
Нужно написать скрипт, который бы рассчитывал расстояние до МКАД (используя API Яндекс.Карт). Работать он должен так.

1. Скрипт на вход должен получать адрес и выдавать 4 варианта ответа  
   a. Внутри МКАД (если ответ внутри, значит адрес действительно внутри) 
   b. Рядом с МКАД – т.е. нельзя точно сказать внутри или снаружи. Я думаю проще всего это реализовать так, задать 2 многоугольника: один идет снаружи МКАД, второй внутри. И если адрес между этими 2мя линиями, то значит рядом с МКАД. Многоугольники должны идти относительно близко от МКАД (максимум 500м).  
   c. За пределами МКАД. В этом случае также выдается расстояние до МКАД  
   d. Адрес не найден. В принципе я собираюсь только правильные адреса передавать, но все равно лучше выдавать такой ответ 
2. Расстояние до МКАД – это маршрут (без учета пробок) от адреса до ближайшего въезда в Москву. Я предлагаю это сделать так. Задается список координат въездов. Из всех въездов выбираются N ближайших геометрически (sqrt((x1-x2)^2 + (y1-y2)^2)), до них строится маршрут и выбирается самый короткий. 
3. Т.к. все это будет на javascript мне нужна функция: GetDistanceToMKAD(address), которая возвращает то что описано в пункте 1 (если это сложно можно сделать callback который все это возвращает)  
4. В конечном варианте карты не должно быть видно на экране, т.е. она должна каким-то образом скрываться. (Например: display: none). С этим судя по всему проблем не должно быть.
5. Многоугольники вокруг МКАД, координаты въезда и другие параметры которые можно улучшить/уточнить, должны быть удобно/понятно заданы в массивах, чтобы их было просто изменить при необходимости.  

Я уже размещал подобный проект и мне написали скрипт расчета расстояния до МКАД, но он работает немного по-другому принципу, так что расстояние до МКАД не всегда считается так как я хочу. На самом деле алгоритм, не обязательно должен работать как я написал, но результат должен быть таким же.
Опубликован 18.09.2014 в 16:27

Выберите способ верификации:

Обновите страницу после прохождения верификации.