如何计算到位置的距离和时间

Posted

技术标签:

【中文标题】如何计算到位置的距离和时间【英文标题】:How to calculate distance and time to location 【发布时间】:2014-10-24 13:04:22 【问题描述】:

我需要使用 gps 计算当前位置到给定位置之间的时间和距离。

哪位大侠给点意见

  final TextView speedView = (TextView) findViewById(R.id.speedtxt);
     locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
     locationListener = new LocationListener() 
         public void onLocationChanged(Location location) 
             if (location.hasSpeed()) 
                float speed = location.getSpeed() * 3.6f;// km/h
                speedView.setText(String.format("%.0f km/h", speed));
            
        
        public void onProviderDisabled(String provider) 
        

        public void onProviderEnabled(String provider) 
        

        public void onStatusChanged(String provider, int status, Bundle extras) 
        
    ;

【问题讨论】:

【参考方案1】:

Location 具有distanceTo 方法,该方法返回此位置与给定位置之间的近似距离(以米为单位)。例如

float distance = gpsLocation.distanceTo(dstLocation);

【讨论】:

【参考方案2】:

看看Location.distanceBetween(double startLatitude, double startLongitude, double endLatitude, double endLongitude, float[] results)方法

http://developer.android.com/reference/android/location/Location.html

//finding the distance between destination and mylocation

                Location.distanceBetween(startLatitude , startLongitude, endLatitude , endLongitude , results);
// to convert metre to KM
                if(results[0]>1000)
                
                    distString = (double)Math.round(results[0]/1000)+"km";

                
                else
                
                    distString = Math.round(results[0])+"m";
                
                Log.d("dist string",distString);
// Store the distances in array

                distance[i]=distString;

顺便问一下,已经有问题了

Calculating distance between two geographic locations

【讨论】:

以上是关于如何计算到位置的距离和时间的主要内容,如果未能解决你的问题,请参考以下文章

如何计算从用户位置到注释的距离并将其显示在标签中

如何计算一个位置与另一个位置之间的距离/接近度(c#)

如何在谷歌地图 api 中计算从 1 个位置到许多其他位置的距离? [复制]

Three.js - 如何计算两个 3D 位置之间的距离?

在 Google Maps v2 上计算当前位置和标记之间的距离

如何使用它们的经度和纬度值计算两个位置之间的距离