我试图使用LocationListener及相关的类和方法在android中找到两个位置之间的距离。
2.现在我想给出地址并获取坐标,然后实时获得先前给定地址位置与当前位置(变化)之间的距离。因为在android中没有当前的位置方法我必须使用位置监听器。
//在代码下面获取成功的地址位置坐标
int i=1;
Geocoder geo=new Geocoder(this);
List<Address> addressList = geo.getFromLocationName(adrs,i);
Address address = addressList.get(0);
if(address.hasLatitude() && address.hasLongitude()){
lat = address.getLatitude();
lon = address.getLongitude();
String adlalo= "Latitude of above address: "+lat +" " +
" "+"Longitude of above address: "+lon;
t2.setText(adlalo);
}
//及以下是位置监听器类
public class LoctListner implements LocationListener
{
public void onLocationChanged(Location loc)
{
t3 = (TextView) findViewById(R.id.textView3);
l1.setLatitude(lat);
l1.setLongitude(lon);
float d=l1.distanceTo(loc);
String s="the distance between starting and ending point is "+d;
t3.setText(s);
}
}
帮助我犯错的地方。无法看到日志,因为我需要将设备带出来测试。因为这个应用程序需要一个移动的位置。谢谢提前
答案 0 :(得分:0)
无法看到日志,因为我需要将设备带出来测试。因为这个应用程序需要移动位置
也许您忘了调用requestLocationUpdates()?
无法查看日志
你没有放任何日志。使用Logs.D(“YOURTAG”,“Logs statements”);
Location l2 = new Location("");
l2.setLatitude(loc.getLatitude());
l2.setLongitude(loc.getLongitude());
^这不是必需的
float door = l1.distanceTo(loc);
您必须等待几分钟,直到GPS图标停止动画。这意味着已经获得了修复。因此,请检查loc
是否为null
答案 1 :(得分:0)
地理编码器没用。你无法通过地理编码器获取地址。 您可以使用Gson从Google地图Api解析json文档.json包含您的地址信息。