Клуб API Карт

Ошибочный ответ при запросе маршрута с некорректными концами.

mpetrushk
29 января 2010, 01:32

Если один конец маршрута геокодируется, а второй нет, то всё в порядке.

Если же оба конца маршрута не геокодируются, то возникают ошибки, приводящие к прекращению выполнения JS-скриптов, приведённые ниже.

Код вызова:

 var waypoints = ["Москва " + from, "Москва " + to];
 var router = new YMaps.Router(waypoints, [], {viewAutoApply: 1, avoidTrafficJams: ((traffic)?true:false)});
 new YMaps.Events.observe(router, router.Events.Success, function() {
     var precision = [router.getWayPoint(0).text != 'Россия, Москва', router.getWayPoint(1).text != 'Россия, Москва'];

     if (precision[0] && precision[1]){

............................

     }

    else{
            // GeocodeError
            if (!precision[0]) point_number = 0;
            else point_number = 1;
            var geocoder = new YMaps.Geocoder(waypoints_original[point_number], {results:1});
            error_string = 'Не удалось вычислить географические координаты точки «' + waypoints_original[point_number] + '» в регионе Москва.';
    });

Ошибка в Opera:

Syntax error while loading: line 1 of linked script at http://api-maps.yandex.ru/1.1.6/xml/Router/Router.xml?key=AI5IWkoBAAAANZU6CAIAsyz2m-GooRAI_3KBhRd8bdHpP18AAAAAAAAAAAA1cBcFlTSjScfjq6prbmRw_7eQ0w==&rll=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0%20%D0%AE%D0%B6%D0%BD%D0%B0%D0%B1%D1%83%D1%82%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F%2C%2017~%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0%20%D0%9C%D0%B5%D1%82%D1%80%D0%BE%20%D0%A4%D1%80%D0%B0%D0%BD%D0%B7%D0%B5%D0%BD%D1%81%D0%BA%D0%B0%D1%8F&mode=jams&callback=jsonp1264716793538 :

Expected token: '}'
'Россия',Locality:{LocalityName:'Москва'}}Country:{CountryName:'Россия',Locality:{LocalityName:'Мос


-------------------------------------------------^

Ошибка в Firefox:

missing } after property list

 

Пример ошибки в реальном приложении: http://taxovik.ru/welcome/direction?traffic=true&from=%D0%AE%D0%B6%D0%BD%D0%B0%D0%B1%D1%83%D1%82%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F%2C+17&to=%D0%9C%D0%B5%D1%82%D1%80%D0%BE+%D0%A4%D1%80%D0%B0%D0%BD%D0%B7%D0%B5%D0%BD%D1%81%D0%BA%D0%B0%D1%8F&commit=%D0%9D%D0%B0%D0%B9%D1%82%D0%B8