2017-03-10 13 views
0

現在の緯度と経度に基づいて移動距離を計算する単純なアプリケーションを開発しようとしています。場所オブジェクトに別の都市の緯度があります

私が気付いている基本的な問題は、時には新しい緯度と経度が3〜2000km以上離れていることです。

私は間違っていることがありますか?

protected void startLocationUpdates() { 
    if (mGoogleApiClient != null) { 
     if (mGoogleApiClient.isConnected()) { 
      if (ActivityCompat.checkSelfPermission(this, Manifest.permission 
        .ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && 
        ActivityCompat 

          .checkSelfPermission(this, Manifest.permission 
            .ACCESS_COARSE_LOCATION) != 
          PackageManager.PERMISSION_GRANTED) { 
       // TODO: Consider calling 
       // ActivityCompat#requestPermissions 
       // here to request the missing permissions, and then overriding 
       // public void onRequestPermissionsResult(int requestCode, String[] 
       // permissions, 
       //           int[] grantResults) 
       // to handle the case where the user grants the permission. See the 
       // documentation 
       // for ActivityCompat#requestPermissions for more details. 
       return; 
      } 
      LocationServices.FusedLocationApi.requestLocationUpdates(
        mGoogleApiClient, mLocationRequest, this); 
     } 
    } else { 
     buildGoogleApiClient(); 
    } 
} 





@Override 
public void onLocationChanged(Location location) { 
    if(oldLocation!=null)}{ 
    double oldLatitude = oldLocation.getLatitude(); 
    double oldLongitude = oldLocation.getLongitude(); 
    double currentLatitude = location.getLatitude(); 
    double currentLongitude = location.getLongitude(); 

    float[] f = new float[1]; 
    Location.distanceBetween(oldLatitude, oldLongitude, currentLatitude 
          currentLongitude, f); 
    } 
+0

http://stackoverflow.com/questions/37225838/location-change-glitches-on-map-using-polyline-options/37226871#を見てみましょう37226871 – antonio

+0

@antonioありがとう..おかげで..ちょっと変わったよ。 –

答えて

0

distanceTo方法を試してみてください...私はやっているものです。ここ

をアドバイスをしてください。

例:

@Override 
public void onLocationChanged(Location location) { 
    if(oldLocation!=null)}{ 
     float f = oldLocation.distanceTo(location); 
    } 
+0

でも問題は解決した。問題は緯度と経度の値ではない。 –

+0

@FaizanAhmed:あなたは問題について詳しく説明できますか?緯度と経度の正しい値を取得するには? – Sudarshan

+0

あなたは緯度を持っている私は取得しています次の位置Bを変更 は場所の中のx、yの緯度と経度 を持っている場所Aがあると仮定し... は私のscenerioであなたを教えてみましょう...と言うかもしれませんと位置Aよりも遠く離れている。最も速い間隔はわずか5秒である。 しかし、これは毎回起こるわけではない。 –

関連する問題