Почему статус OVER_QUERY_LIMIT работает до Status.OK - API Карт Google

Почему статус OVER_QUERY_LIMIT работает до Status.OK? Я использую этот код:

directionsService.route(request, function(response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
        var response = Math.ceil(response.routes[0].legs[0].distance.value / 1000);

        stores.push({
            distance: response,
            id: item.properties.Nid,
        });

        console.log('STATUS.OK');
    } else if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT){
        console.log('OVER_QUERY_LIMIT');
    }
});

Статус OVER_QUERY_LIMIT регистрируется перед STATUS.OK. Я знаю, что OVER_QUERY_LIMIT работает, потому что я сделал много запросов.

Но я не могу понять, как я мог создать задержку, когда OVER_QUERY_LIMIT всегда запускается первым.

Может кто-нибудь объяснить мне, пожалуйста?

1 ответ

Запрос асинхронный. Генерация данных для ответа status="OK" занимает больше времени, чем для возврата ответа status="OVER_QUERY_LIMIT".

Вам нужно обработать запрос, который привел к статусу "OVER_QUERY_LIMIT", как это делается в связанном вопросе: OVER_QUERY_LIMIT в Google Maps API v3: как сделать паузу / задержку в Javascript, чтобы замедлить его?

Другие вопросы по тегам