GEO位置距离To()

时间:2014-05-18 18:24:27

标签: android geolocation

有人能告诉我我做错了吗?

如果我在我的设备或模拟器上运行,我的应用程序返回0.0米。它应该是1000米。 甚至将位置硬编码到LocationA.set ..对我没有帮助.. 我认为它与Double - To string part有关.. 或者我错了?

继承我的代码:

public void onLocationChanged(Location location) {
        if(location != null)
        {
            double pLong = location.getLongitude();
            double pLat = location.getLatitude();
            txtLat = Double.toString(pLat);
            txtLong = Double.toString(pLong);
            textLat.setText(Double.toString(pLat));
            textLong.setText(Double.toString(pLong));
            double distance =0;
            Location locationA = new Location("point A");
            locationA.setLatitude(location.getLatitude() /1e6);
            locationA.setLongitude(location.getLongitude() /1e6);
            Location locationB = new Location("point B");
            locationB.setLatitude(51.914282);
            locationB.setLongitude(4.615116);

            int distance2 = (int) locationA.distanceTo(locationB);
            String str = " (" + String.valueOf(distance) + " meters)";
            dist.setText(str);
        }
    }

\

提前致谢

1 个答案:

答案 0 :(得分:2)

您正在输出String.valueOf(distance)。距离初始化为0,然后再也没有设置。 distanceTo来电是distance2而不是distance

另一个注意事项,当您设置locationA的纬度和经度时,为什么要划分为1e6?这看起来不对。