【发布时间】:2018-11-24 08:30:20
【问题描述】:
我有一个 Android 应用程序,我正在使用 Google 地理编码 API 来获取地址的 GPS 坐标。目前我正在使用以下正常工作的 URL:
问题是,在 2018 年 7 月 16 日 Google 的“新定价更改”之后,上述 API 是否会继续工作?根据此处的 Google API 文档https://developers.google.com/maps/documentation/geocoding/intro#GeocodingResponses,执行地理编码的正确方法是使用以下格式:
我尝试过使用建议的格式(创建了一个项目,启用了计费,启用了 Places 和 Maps API,创建了一个 API 密钥,增加了密钥的安全性,以便只有我的应用程序可以访问该密钥)但是当我使用建议的格式我得到了错误,
此 IP、站点或移动应用程序无权使用此 API 关键
阅读 StackOverflow 上的其他问题后,我发现了以下建议:
- 创建服务器密钥并使用它代替 API 密钥
- 不对 API 密钥添加限制
- 使用 API 请求的第一种格式(不带 API_KEY)
- 等待 10 分钟,直到新 KEY 变为活动状态
我尝试了所有这些,除了 1 并且没有工作。关于解决方案#1,根据文档,API 需要一个 API 密钥,所以我看不出为什么服务器密钥会起作用。
解决方案 2 有风险,解决方案 3 不确定它是否会继续与定价变化一起工作,解决方案 4 也不起作用(我等了几个小时没有成功)。
我什至创建了一个新的 API KEY 并没有对其添加任何限制,但我收到了超出限制的错误。
任何人都可以提供任何帮助吗?
【问题讨论】:
-
Geocoder类(应该依赖于用户的配额)是否在您的情况下无法运行? developer.android.com/training/location/display-address -
地理编码器功能工作正常。问题是我想要的是按位置名称搜索,而不是按纬度/经度,并且 Geocoder 类不这样做(据我所知)。
-
确实如此,使用getFromLocationName,它会返回一个地址实例列表,其中包含经纬度:developer.android.com/reference/android/location/…
标签: android google-maps geocoding