【发布时间】:2012-02-20 07:25:31
【问题描述】:
我正在编写一个需要查找当前位置的应用程序。代码正确返回纬度和经度,但不返回真实地址(反向地理编码) 可能是什么问题。 有人请帮忙,我是android新手。 我正在使用 android 4.0 在模拟器上进行测试 updateWithNewLocation() 从 onLocationChanged(Location loc) 方法调用
void updateWithNewLocation(Location location)
{
if (location != null)
{
double lat = 29.00;//location.getLatitude();
double lng = 77.0;//location.getLongitude();
longitudeLattitudeString="Lattitude :"+lat+" Longitude :"+lng;
Geocoder gc = new Geocoder(this, Locale.getDefault());
try
{
List<Address> addresses = gc.getFromLocation(lat, lng, 1);
StringBuilder sb = new StringBuilder();
//Toast.makeText(this, "Problem1", 2000).show();
if (addresses.size() > 0)
{
Address address = addresses.get(0);
for (int i = 0; i < address.getMaxAddressLineIndex(); i++)
sb.append(address.getAddressLine(i)).append("\n");
sb.append(address.getLocality()).append("\n");
Toast.makeText(this, "Problem2", 2000).show();
sb.append(address.getPostalCode()).append("\n");
sb.append(address.getCountryName());
}
else
{
addressString=" No Location";
//Toast.makeText(this, "Problem3", 2000).show();
}
addressString = sb.toString();
}
catch (IOException e)
{
//Toast.makeText(thisContext, "Problem : InCatch", 2000).show();
}
}
else
{
longitudeLattitudeString = "No location found";
}
}
【问题讨论】: