android - gps - 试图获得准确的距离

时间:2014-07-07 15:31:08

标签: android android-activity

我试图使用getLatitudeE6();但是eclipse给我看错:

方法getLatitudeE6()未定义类型Location

如果我改为getLatitude();没有E6,它工作正常,没有错误。但我的目标是获得准确的纬度和经度,以便用distanceTo()计算2点之间的准确距离;所以我想使用getLatitudeE6

                location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

            double finishLati=location.getLatitudeE6() / 1E6;
            double finishLongi=location.getLongitudeE6() / 1E6;

distanceTo函数:

               Location locationA = new Location("A");  

           locationA.setLatitude(startLati);  
           locationA.setLongitude(startLongi);  

           Location locationB = new Location("B");  

           locationB.setLatitude(finishLati);  
           locationB.setLongitude(finishLongi);  

           double distance = locationA.distanceTo(locationB);

1 个答案:

答案 0 :(得分:1)

使用getLatitudeE6() vs getLatitude()与您获得准确位置无关。实际上你不能使用getLatitudeE6,因为它不存在,因为你可以从尝试使用它时得到的错误中看到它。

问题是您使用的getLastKnownLocation可能是一个小时的位置,或者甚至根本无法返回您的位置