Клуб API Карт

Ограничение области поиска панорамы для плеера

DomEdI211
16 мая, 11:30

Добрый день. Столкнулся с проблемой ограничения области поиска панорамы для плеера.

Открываю панораму в балуне, для поиска панорамы пользуюсь следующим кодом:

 ymaps.panorama.locate(coords, {
    layer: 'yandex#panorama'
 }).then(
    function (panoramas) {
       if (panoramas.length) {
          setBalloonContentLayout(placemark, panoramas[0], true, coords)
       } else {},
    function (err) {}
 );

В данном случае, если искомая точка находится во дворах, открывается дорога, с которой не видно нужной точки. Есть ли возможность установить радиус поиска панорамы для плеера?

9 комментариев
Подписаться на комментарии к посту
нет, только фильтровать полученный список панорам
dimik,
можно рассказать подробнее про фильтрацию?
DomEdI211,
ymaps.panorama.locate Возвращает Promise объект, который будет разрешен массивом найденных панорам (если не найдено ни одной панорамы, то массив будет пуст) или отклонен с описанием ошибки. Массив в javascript можно фильтровать
dimik,
Понял, я думал что имеются именно методы API для фильтрации панорам.
dimik,
Правильно ли я понимаю, что просто необходимо сравнить координаты полученной панорамы с координатами указанной точки и при большом отличии не выводить ее?
DomEdI211,
да, в общем случае. Panorama содержит и другие данные на основании которых можно определить подходит она или нет.
Обновлено 16 мая, 12:28
dimik,
Задачу фильтрации решил, с помощью метода getDistance() проверял расстояние.  Направление взгляда панорамы устанавливаю с помощью метода lookAt(), указывая координату объекта.

Теперь проявилась другая ситуация - когда панорама по расстоянию подходит (менее 100 метров), но между искомой точкой и точкой панорамы есть здание, как можно отфильтровать такие панорамы?
DomEdI211,
такой возможности пока нет
dimik,
Понял, спасибо