地理编码API与地理编码器

时间:2015-03-04 15:34:28

标签: android google-maps-android-api-2 google-geocoding-api

在我的应用程序中,我需要使用地理编码,但我不太清楚使用哪种方法。直到昨天我才将参数添加到网址maps.googleapis.com/maps/api/geocode/json?address=myparameter&sensor=false,但Google阻止了我的请求一天,导致应用程序崩溃,因为它没有返回地理编码请求的任何结果。

现在我正在使用同样的Geocoder类,并且我已经看到您可以创建和使用API​​密钥进行地理编码。
您建议使用哪种方法?除了请求的限制之外,这两种方法有什么区别?

3 个答案:

答案 0 :(得分:2)

如果您需要在应用中使用地图,则应使用名为:Google Maps Android API v2的API。

如果您需要管理地理编码数据(地址为lat / lng或反之),请启用地理编码API并开始使用Geocoder类。

例如(lat / lng to address):

Geocoder geocoder = new Geocoder(this, Locale.getDefault());
addresses = geocoder.getFromLocation(gps.getLatitude(),  gps.getLongitude(), 1); 

答案 1 :(得分:1)

Geocoder 是 Android 框架中的免费内置 API。地理编码 API 是付费的休息 API。 Geocoder 在内部使用不同的搜索堆栈,与 Geocoding rest API 相比,这会导致不同的结果。 Geocoding rest API 通常比 Geocoder 工作得更好,但有使用限制并且实现更大。

答案 2 :(得分:0)

免费API的用户有以下限制:

  • 每24小时2,500个请求。
  • 每秒5次请求。

您可以在网络请求中包含API密钥,例如:

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=API_KEY

不确定android Geocoder类,也许其他人可以帮助你解决这个问题。但我认为适用相同的限制。