2017-01-18 7 views
-2

私は現在、自分のパフォーマンス(走っている、歩いている)を追跡できる簡単なフィットネスアプリを開発中です。私は非常にうまく動作する移動速度を取得するために位置マネージャを使用しています。しかし、私は距離を移動する必要があります、どのように距離を取得するために位置マネージャ(長いと緯度)を使用することができますか?位置管理を使ってアンドロイドの距離を計算しました

おかげ

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_track); 

    start = (Button) findViewById(R.id.btnStart); 
    speed = (TextView) findViewById(R.id.txtSpeed); 
    locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); 


    //initialize location listener 
    locationListener = new LocationListener() { 
     @Override 
     public void onLocationChanged(Location location) { 
      getSpeed(location); 
      double lat2 = location.getLatitude(); 
      double lng2 = location.getLongitude(); 
     } 

     @Override 
     public void onStatusChanged(String s, int i, Bundle bundle) { 

     } 

     @Override 
     public void onProviderEnabled(String s) { 

     } 

     @Override 
     public void onProviderDisabled(String s) { 
     } 

     //get the speed from the given location updates 
     public void getSpeed(Location location) { 
      currentSpeed = (location.getSpeed() * 3600/1000); 
      String convertedSpeed = String.format("%.2f", currentSpeed); 
      speed.setText(convertedSpeed + "Km/h"); 
     } 
    }; 
+1

質問を再投稿しないでください! – Selvin

答えて

0

あなたはおそらく各連続緯度と経度の間の距離を見つけて追加し続けることができます。

はここキロメートル(km)の距離で、これはあなたを助け

private double distance(double lat1, double lon1, double lat2, double lon2) { 
    double theta = lon1 - lon2; 
    double dist = Math.sin(deg2rad(lat1)) 
        * Math.sin(deg2rad(lat2)) 
        + Math.cos(deg2rad(lat1)) 
        * Math.cos(deg2rad(lat2)) 
        * Math.cos(deg2rad(theta)); 
    dist = Math.acos(dist); 
    dist = rad2deg(dist); 
    dist = dist * 60 * 1.1515; 
    return (dist); 
} 

private double deg2rad(double deg) { 
    return (deg * Math.PI/180.0); 
} 

private double rad2deg(double rad) { 
    return (rad * 180.0/Math.PI); 
} 

希望を得ます。

関連する問題