@mirexdoors

Как несколько раз подряд обратиться к API Яндекс.Организаций?

Здравствуйте!
У меня есть задача: получать координаты организаций по поисковым запросам и выводить их на карту. И если с одним запросом всё хорошо, то при нескольких запросах подряд результат возвращает только первый. Пробовал отправлять их в цикле с таймаутом - то же самое.

Функция с запросом:
function getOrganizations(query, coords) {
            var url = "https://search-maps.yandex.ru/v1/?text=" + query + "&ll=" + coords + "&spn=0.792069,0.680552&type=biz&lang=ru_RU&apikey=<?= YANDEX_SPRAVOCHNIK_KEY ?>";
            var xhr = new XMLHttpRequest();
            xhr.open('GET', url, true);
            xhr.responseType = 'json';
            xhr.onload = function() {
                var status = xhr.status;
                if (status == 200) {
                    console.log(xhr.response);   // xhr.response.features - пустой при второй итерации
                }
            };
            xhr.send();
        }


А вот так вызываю её:
function pass(rubric) {
      return  getOrganizations(rubric, coords);
}
var rubrics = ["кинотеатр", "кафе"];
 for (var i = 0; i < rubrics.length; i++) {
    setTimeout(pass(rubrics[i]), i*250);
 }
  • Вопрос задан
  • 26 просмотров
Решения вопроса 1
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
координаты то у тебя откуда берутся в pass?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы