Достаточно взять от туда ограничивающий полигон москвы и найти пересечение его контура и вашей линии( первый курс, аналитическая геометрия).
Далее считать растояние от этой точки.
2. Использовать роутер - он выдает путь с узловыми точками.
Каким либо образом найти точку пересечение мкада( не факт правда что она будет всегда, но вроде как должна(не проверял)) и пройдя по пути далее найти нужное растояние.
ой, я уж давно не занимался апи картами, но я не совсем правильно делал, на пример начало маршрута на проспекте мира, а конец на ярославском шоссе. Там как правильно роут прописать, в одном случае точку будут только на изгибах маршрута, и вот на маршруте Проспект мира - Пушкино, первый изгиб за МКАД был достаточно далеко от границы Москвы, что не устраивало.
Где-то нашёл чтобы получить множество точек маршрута так,
j = route.getNumPoints(); // всего точек на ломанной for (i=0; i < j; i++) { if ( !polygon.contains(route.getPoint(i)) ) // если непопадает в полигон МОСКВЫ то МКАД! Там по маршруту в километров 10 около 300 точек получается (точно не помню), и уже циклом каждую точку можно проверять попадает она в полигон или нет.
Я именно об этом и говорю, там столько вершин ломаной, что описывается малейшее изменение направления. Ситуации, когда на пересечении с мкад не было точек я не видел. Сейчас вожусь с http://clubs.ya.ru/mapsapi/replies.xml?item_no=19716