2016-06-29 8 views

答えて

0

私の推測では、アプリはバックグラウンドでonLocationChanged()を実行しており、車の速度をキャプチャしていると思います。あなたが旅行中にすべての速度値を持っていれば、移動距離を計算することができます。私は最後の数日間で行われているものは何でも研究から

+0

アプローチの1つにすることはできますが、トリップに複数の停止があり、計算がはるかに複雑である場合、計算が混乱することがあります。 –

0
var rad = function(x) { 


return x * Math.PI/180; 
}; 

var getDistance = function(p1, p2) { 
    var R = 6378137; // Earth’s mean radius in meter 
    var dLat = rad(p2.lat() - p1.lat()); 
    var dLong = rad(p2.lng() - p1.lng()); 
    var a = Math.sin(dLat/2) * Math.sin(dLat/2) + 
    Math.cos(rad(p1.lat())) * Math.cos(rad(p2.lat())) * 
    Math.sin(dLong/2) * Math.sin(dLong/2); 
    var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); 
    var d = R * c; 
    return d; // returns the distance in meter 
}; 

Source of above code

+0

これは私が探しているものではありません。これはおおよその距離を与えるでしょう。私は旅行で車で覆われた総距離を追跡したい。 –

0

  1. 開始点から終了点までの経路に沿って(緯度、経度)を追跡します。次の方法は、旅行中の合計距離を調べるために最適です。
  2. 旅行の最後に、すべての座標をキャプチャしてサーバーに電話をかけます。
  3. lat、lngの組み合わせから計算した距離を加算します。

距離計算GoogleマップAPIへの呼び出しを減らすために、旅行の最後に一度に呼び出しを送信する方が良いです。

関連する問題