2012-01-08 19 views

回答

1

地理编码器不能保证存在于所有设备上。事情夫妇尝试:

  1. 该文档是不完全清楚,但似乎如果你有谷歌插件,你应该有一个地理编码器后端实现。请尝试将针对谷歌的API为你的目标API级别(见下文) https://stackoverflow.com/a/2255592/483708

  2. 在您的实现,通过对地理编码功能与Geocoder.isPresent() http://developer.android.com/reference/android/location/Geocoder.html#isPresent()

  3. 明确检查防止错误的结果。如果以上几点不足,你将需要使用谷歌地图API的网站通过网络进行反向地理编码: http://code.google.com/apis/maps/documentation/geocoding/index.html#ReverseGeocoding

也看一看在这个博客中引用的GeoCoderPlus库发布
http://bricolsoftconsulting.com/perfect-geocoding-zoom-part-1/

它使用谷歌地图的Web API,而是“前进”地理编码。您可以使用博文和附带的代码作为指导,通过网络构建您自己的反向地理编码实现。

0

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

+0

我运行它2.1,2.3中的问题是一样的。 – santBart 2012-01-08 21:32:01

+0

你是否创建了一个新的模拟器(不仅仅是改变了现有的SDK版本)?你尝试过一个真实的设备吗?如果它不是模拟器问题,你可以发布你的代码吗? – znat 2012-01-08 21:39:01

+0

我在2.3中制作了模拟器。我没有尝试过真正的设备。我的代码:Geocoder geocoder = new Geocoder(getApplicationContext(),Locale.getDefault());列表

addresses = geocoder.getFromLocation(lat,lon,1); – santBart 2012-01-08 21:42:30