Клуб API Карт

Пропали поля объекта метаданных геокодера у точек маршрута

Пост в архиве.

Со вчерашнего дня для версии 2.0 объект метаданных геокодера у точки маршрута имеет только одно поле - text. AddressDetails, kind и precision просто исчезли. На версии 2.1 проблемы не наблюдается, там всё необходимое есть.

function Test()

{

       var from = "Томская область, Томск, проспект Ленина, 1";

       var to   = "Томская область, Томск, проспект Ленина, 111";

 

       var router = new ymaps.route( [from, to], { mapStateAutoApply: true } );

       router.then

       (

              function (route) 

              {

                     var wayPoints = route.getWayPoints();

                     console.log(wayPoints.get(0).properties.get("GeocoderMetaData"));

                     console.log(wayPoints.get(1).properties.get("GeocoderMetaData"));

              }

       );

}

 

Очень интересна причина и методы борьбы, ибо использование 2.1, увы, не вариант.

2 комментария
Sergey Konstantinov
27 января 2016, 22:52
Причина — использование недокументированных возможностей (к которым относятся метаданные WayPoint-ов, которые в документации не описаны) — на ваш страх и риск.

Метод борьбы: прогоните точки через ymaps.geocode, потом стройте маршрут по координатам, если вам нужны метаданные геокодера, как и предлагается в примерах использования API
https://tech.yandex.ru/maps/jsbox/2.0/deliveryCalculator

В ближайшее время будет обновление для 2.0 и там будет возвращен старый формат данных для путевых точек. Но лучше все-таки не использовать недокументированные поля и методы.