我需要从lon lat位置获取地址。我尝试使用geodecoder但它不起作用(抛出服务不可用)。这个问题还有其他解决办法吗?
答案 0 :(得分:1)
并不保证所有设备都存在地理编码器。有几件事要尝试:
文档不是很清楚,但似乎如果你有Google插件,你应该有一个地理编码器后端实现。尝试针对目标API级别链接Google API(请参阅下文) https://stackoverflow.com/a/2255592/483708
在您的实施中,通过使用Geocoder.isPresent()
明确检查地理编码功能来防止出现错误结果
http://developer.android.com/reference/android/location/Geocoder.html#isPresent()
如果以上几点不足,您需要使用Google Maps Web API通过网络执行反向地理编码: http://code.google.com/apis/maps/documentation/geocoding/index.html#ReverseGeocoding
另请参阅此博客文章中引用的GeoCoderPlus库 http://bricolsoftconsulting.com/perfect-geocoding-zoom-part-1/
它使用Google Maps Web API,但用于“转发”地理编码。您可以使用博客文章和所包含的代码作为指导,通过网络构建您自己的反向地理编码实现。
答案 1 :(得分:0)
这似乎是运行SDK 2.2的模拟器中的一个错误。我曾经也有过一样的问题。 创建一个2.1或2.3模拟器并尝试使用您的代码。