android(api 8或heigher)从位置获取地址

时间:2012-01-08 21:15:24

标签: java android google-maps

我需要从lon lat位置获取地址。我尝试使用geodecoder但它不起作用(抛出服务不可用)。这个问题还有其他解决办法吗?

2 个答案:

答案 0 :(得分:1)

并不保证所有设备都存在地理编码器。有几件事要尝试:

  1. 文档不是很清楚,但似乎如果你有Google插件,你应该有一个地理编码器后端实现。尝试针对目标API级别链接Google API(请参阅下文) https://stackoverflow.com/a/2255592/483708

  2. 在您的实施中,通过使用Geocoder.isPresent()明确检查地理编码功能来防止出现错误结果 http://developer.android.com/reference/android/location/Geocoder.html#isPresent()

  3. 如果以上几点不足,您需要使用Google Maps Web API通过网络执行反向地理编码: http://code.google.com/apis/maps/documentation/geocoding/index.html#ReverseGeocoding

  4. 另请参阅此博客文章中引用的GeoCoderPlus库 http://bricolsoftconsulting.com/perfect-geocoding-zoom-part-1/

    它使用Google Maps Web API,但用于“转发”地理编码。您可以使用博客文章和所包含的代码作为指导,通过网络构建您自己的反向地理编码实现。

答案 1 :(得分:0)

这似乎是运行SDK 2.2的模拟器中的一个错误。我曾经也有过一样的问题。 创建一个2.1或2.3模拟器并尝试使用您的代码。