2013-08-09 1 views
3

지도를 표시하는 Android 앱에서 작업 중이며 사용자가 클릭하면 Lat/Lng를 사용하여 내 레일스 서버로 보내고 reverse_geocoding을 수행하고 주소와 좌표를 데이터베이스에 저장합니다 . 그런 다음 사용자는 자신의 위치 주변의 모든 장소가 표시된지도를 볼 수 있습니다.Google 지오 코딩 API 오류 : 검색어 한도 초과?

어제 app를 통해 장소를 만드는 기능을 추가했습니다. 그 전에는 activeadmin을 레일스에서 ​​직접 사용하기 전에 모든 것이 잘 작동했습니다. 하지만 어제 앱을 테스트 할 때 갑자기 Google API 오류가 발생했습니다.

Google Geocoding API error: over query limit 

어떻게 가능합니까? 나는 2500 요청/하루의 한계가 있다는 것을 알고 있지만 나는 그 숫자에서 멀다, 어쩌면 어쩌면 2 시간 안에 50 개의 창조물을 만들었을 것이다. 30 분 정도 기다려도 다시 작동합니다 ...

역 지오 코딩의 경우 지오 코더를 사용하고 있습니다. 매번 Location.near 님이 Google API에 요청을 할 수 있습니까? 일반적으로 Lat/Lng가 제공되면 Google 서버를 요청하지 않지만 데이터베이스에서만 확인합니다.

지도를 표시 할 때마다 Google 서버에 이러한 종류의 요청을 보내는 앱이 될 수 있습니까?

여기 조금 잃어버린 ...

고마워요!

+0

API 키를 사용하고 있습니까? – Cyrus

+0

Rails Geocoder가 수동으로 API 키를 넣어야한다고 생각하지 않습니다. 내 안드로이드 애플 리케이션에 하나 있는데, 오류 메시지가 내 레일 서버 로그에 표시됩니다. – jbihan

답변

2

지오 코딩 서비스도 초당 쿼리 수를 기준으로 제한되며 이는 해당 메시지의 원인 일 수 있습니다.

지오 코더는 Location.near ("foo")를 호출 할 때마다 API 호출을합니다 (foo의 위도/경도를 가져 오기 위해). 모델 지오 코딩과 결합하여 속도 제한을 초과 할 수 있습니다.

쿼리 제한 예외가 호출되거나 Android 앱에서 위도/경도를 가져 와서 .near geolocation을 피하면서 직접 쿼리에 전달하려고 할 때 재시도 논리를 추가하려고 할 수 있습니다.

+1

Derek에게 감사하지만, 사실 저는'Location.near ("foo")'를하지 않습니다. 나는 Location.near (lat, lng)를합니다. lat/lng는 Android 앱에서 전달한 좌표입니다. 그것이 내가이 오류를 이해하지 못하는 이유입니다! 일반적으로 이미 좌표가있는 경우 Google API에 요청해서는 안됩니다. 맞습니까? 하지만 당신은 재시도 논리에 맞습니다, 나는 그것을 구현해야합니다 (나는 잠시 동안 오류를 얻지 못했습니다 ...) – jbihan

+0

한계에 도달 한 이유를 파악할 수 있었습니까? 나는 또한'event_locations = Location.near ([lat, long], @ distance)'와 같은 것을 가지고있다. 그러나 이것은 지오 코딩 문제를 야기하지 않는다. 그러나 주소를 지오 코딩하려고하면 현재 한계를 넘었다 고합니다. 몇 분 후에 다시 시도 했으므로 초당/초가 될 수 없습니다. – Clam