Запрос направления карты Google не выполнен из-за OVER_QUERY_LIMIT — приостановить функцию JavaScript или код PHP

Я получаю OVER_QUERY_LIMIT при отправке нескольких запросов на обслуживание направления. Я знаю, что это хорошо известная проблема, и есть несколько способов отложить отправку запроса, но я не могу этого сделать, потому что мой запрос отправлен в цикле php for. Пожалуйста, помогите !!!

Вот часть моего php-кода (код работает нормально, но в какой-то момент времени я получаю ошибку OVER_QUERY_LIMIT:

 for($i=0;$i<count($PlanningArray);$i++){

echo"script>

initMap('$Userlocation','$ActLocation1','$ActLocation2','$DivMapID'

</script> "
}

Вот функция:

function initMap(Userloc,Actloc1,Actloc2,i) {var renderOptions = {draggable:true};

var directionsDisplay = new google.maps.DirectionsRenderer(renderOptions);
var directionsService = new google.maps.DirectionsService;

var mapOptions = {
zoom: 11,
center: {lat:-20.239340, lng:57.574604}
};

var map = new google.maps.Map(document.getElementById('map' + i), mapOptions);

directionsDisplay.setMap(map);

var items = [Actloc1,Actloc2];

var  destination;

if(Actloc2 == ''){

destination = Actloc1;
}

else {

destination = Actloc2;
}

var waypoints = [];

for (var j = 0; j < items.length; j++) {

var address = items[j];

if (address !== '') {
waypoints.push({
location: address,
stopover: true
});
}
}

directionsService.route({

origin: Userloc,
destination: destination,
travelMode: 'DRIVING',
waypoints: waypoints

}, function(response, status) {
if (status === 'OK') {
directionsDisplay.setDirections(response);
} else {
window.alert('Directions request failed due to ' + status);
}
});

}

Как я могу приостановить php-код или функцию javascript?

0

Решение

Я не могу проверить ваш источник, но, похоже, это решение
подождите 1 секунду или больше, попробуйте …

        if (stripos($ret,"OVER_QUERY_LIMIT"))
{
echo "<font color=red>OVER_QUERY_LIMIT waiting for 1 sec</font>";

ob_flush();
flush();
sleep(1);

...
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]