Если один конец маршрута геокодируется, а второй нет, то всё в порядке.
Если же оба конца маршрута не геокодируются, то возникают ошибки, приводящие к прекращению выполнения 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=AI5IWkoBAAAANZU6C AIAsyz2m-GooRAI_3KBhRd8bd HpP18AAAAAAAAAAAA1cBcFlTS jScfjq6prbmRw_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%8 3%D1%82%D0%BE%D0%B2%D1%81 %D0%BA%D0%B0%D1%8F%2C%201 7~%D0%9C%D0%BE%D1%81%D0%B A%D0%B2%D0%B0%20%D0%9C%D0 %B5%D1%82%D1%80%D0%BE%20% D0%A4%D1%80%D0%B0%D0%BD%D 0%B7%D0%B5%D0%BD%D1%81%D0 %BA%D0%B0%D1%8F&mode=jams &callback=jsonp1264716793 538
Expected token: '}'
'Россия',Locality:{LocalityName:'Москва'}}Country: {CountryName:'Россия',Loc ality:{LocalityName:'Мос
-------------------------
Ошибка в Firefox:
missing } after property list
Пример ошибки в реальном приложении: http://taxovik.ru/welcome