2013-02-08 2 views
2

Я понимаю, что Google колпачки запросов до 2500 в день ... но нет никакого способа на земле, что я сделал, что много запросов сегодня, и я просто продолжаю получать «OVER_QUERY_LIMIT»Google Maps геокодирования OVER_QUERY_LIMIT Статус

$street_no = get_post_meta($prop->ID, 'street_no', true); 
$street = get_post_meta($prop->ID, 'street', true); 
$street_suffix = get_post_meta($prop->ID, 'street_suffix', true); 

$addr = urlencode($street_no." ".$street." ".$street_suffix." BC Canada"); 
$url = 'http://maps.googleapis.com/maps/api/geocode/json?address='.$addr.'&sensor=true'; 
$json_result = json_decode(file_get_contents($url)); 

if ($json_result->status === "OVER_QUERY_LIMIT") : 
    sleep(2); 
    $json_result = json_decode(file_get_contents($url)); 
endif; 

Как вы можете видеть, если я получаю статус OVER_QUERY_LIMIT, я говорю сценарию спать в течение 2 секунд, а затем продолжаю ..., который, похоже, работал в какой-то момент этим утром, но теперь я просто не могу даже получить одноточечный геокодированный.

Я в затруднении относительно того, что делать в этот момент ... это делает мое приложение совершенно бесполезным.

+0

Где делаются запросы? Ваш сервер? Ваш рабочий стол? Ваш мобильный телефон? Ваш общий хост на rackspace.com? – geocodezip

+0

Запрос делается из облачных сайтов на rackspace, да. Который, как я начал набирать это, стало понятно, что могут быть другие на том же IP-адресе, которые запрашивают api геокодирования. – dcolumbus

ответ

4

квота распределяется между всеми пользователями общего IP, так что другие сайты в том же общем IP должен быть с помощью Google Geocoder.

Для получения дополнительной информации см. this thread in the Google Maps API v2 group.

BTW - Rackspace была догадка ...

Обходной будет использовать клиент на основе геокодирования, но проверить ваше использование соответствует условиям использования.

webservice now supports a key, еще один вариант - использовать ключ в своем запросе, чтобы получить свою собственную квоту.

5

Возможно, вы отправляете слишком много запросов в секунду?

Заканчивать эту тему:

OVER_QUERY_LIMIT while using google maps

+1

Я на самом деле нашел эту ссылку раньше, и это действительно не говорит мне ничего хорошего. – dcolumbus

0

У меня та же проблема, что делает звонки в ГЕОКОДИРОВАНИЮ интерфейса REST с сервера на Heroku (размещенные на Amazon EC2)

Это может быть исправлено, если я мог бы использовать мои Карты ключ API в запросе, и они гусеничные количество вызовов на ключ api.

Я согласен, что это серьезная проблема ...

Bing, MapQuest и другие бесплатное API для геокодирования - вы (и я) должны смотреть на них.

1

Я столкнулся с аналогичной проблемой, связанной с моим приложением Java. Способ, которым я обходился, состоял в том, чтобы создать экземпляр micro EC2 и установить на нем Dante для запуска в качестве прокси-сервера. Затем я просто направляю свои запросы на gecoding через прокси-сервер и могу делать полные 2000 запросов в день. Очевидно, что для кэширования результатов необходимо минимизировать вызовы api. Экзамен EC2 свободен в течение первого года, а после этого все еще не так дорого, и вы всегда можете использовать его не только для Данте.

Я написал подробности того, как я установил это здесь: Using Google geocoding from Heroku

0

Вы можете использовать размещенную службу прокси как QuotaGuard который остановит ваши запросы, поступающие из общего IP, так что вы не получите заблокирован Google при использовании Rackspace/Heroku и т. д.

Смежные вопросы