android - 为什么我会收到 Google Geocoding API 错误 : over query limit?

标签 android ruby-on-rails google-maps rails-geocoder

我正在开发一个显示 map 的 Android 应用程序,当用户点击它时,它会获取 Lat/Lng 并将它们发送到我的 Rails 服务器,该服务器执行 reverse_geocoding 并将地址和坐标存储在数据库。然后,用户可以看到显示其位置周围所有地点的 map 。

我昨天刚刚添加了通过应用程序创建地点的功能,之前我直接在 Rails 中使用 activeadmin,一切正常。但是昨天,在测试我的应用程序时,我突然遇到了 Google API 错误:

Google Geocoding API error: over query limit

这怎么可能?我知道每天有 2500 个请求的限制,但我离这个数字还很远,我昨天在 2 小时内完成了 50 个创作。 当我等待 30 分钟左右时,它再次工作...

对于反向地​​理编码,我使用的是 Geocoder。 Location.near 是否有可能每次都向 Google API 发出请求?通常在提供 Lat/Lng 时它不会请求 Google 服务器,但它只在数据库中检查,对吧?

或者是我的应用程序在我每次显示 map 时向 Google 服务器发送此类请求吗?

我有点迷路了...

谢谢!

最佳答案

地理编码服务也根据每秒的查询次数进行限制,这可能是该消息的原因。

Geocoder 会在您每次调用 Location.near("foo") 时调用 API(以获取 foo 的纬度/经度)。结合对模型进行地理编码,您可能会达到速率限制。

您可能想尝试在调用查询限制异常时添加一些重试逻辑,或者从您的 Android 应用获取纬度/经度并将其直接传递给查询,从而避免 .near 地理定位。

关于android - 为什么我会收到 Google Geocoding API 错误 : over query limit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18145763/

相关文章:

android - 寻找任务完成的动画库以在 Android Studio 中使用

php - 在 Android 中从 Gallery 中选择多个图像并在 PHP 中上传到服务器

javascript - android应用程序通过USB发送数据到外设

android - 如何在多次单击 Button 时多次更改 TextView?

ruby-on-rails - Rails - 如何使用嵌套属性验证表单?

javascript - 如果未单击单选按钮,如何阻止表单提交

ruby-on-rails - 在载波 uploader 中验证图像大小

java - 限制 Android Google Places API 仅搜索给定区域

javascript - 如何将多个图像叠加到谷歌地图上

ios - Swift/ios/Google map - 添加 UISlider 时出现 "Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value"