0

phonegap を使用して 5 秒ごとに緯度/経度の更新を mysql データベースに保存するアプリケーションを作成しています。アプリを起動してからの総移動距離をユーザーが確認できるようにしたいと考えています。

Phonegap geolocation API を調べましたが、緯度/経度の更新に基づいて移動した合計距離を計算する方法がわかりません。これを達成する方法はありますか?

編集: @ ドリュー、リンクをありがとう。私はそれを調べましたが、Haversine の JS バージョンは単純明快に見えます。難しい部分は、phonegap が緯度/経度を取得して保存する方法です。現在、場所を取得してMySQLに送信する私の機能は

function geo_success(position) {
    $("#status p").text("Tracking active");
    $('#status').removeClass("stopped").addClass("active");
    $('button').text("Stop tracking");

    latlon.lat = position.coords.latitude;
    latlon.lon = position.coords.longitude;
    latlon.alt = position.coords.altitude;
    if(!position.coords.speed) { latlon.speed = 0; }
    else{ latlon.speed = position.coords.speed }

    if(first) {
        intervalId = setInterval(send, 5000);
    }
    first = false;
}

lat1 lon1 の最新の値を保存し、lat2 lon2 の前の値を使用して、これらの 2 セットの変数を介して最新の着信座標を循環させる方法はありますか? そうすれば、返された変数 d を haversine から取得し、それをデータベースに格納できます (後で合計できるようにするため)。どうもありがとう。

4

1 に答える 1

0

これらの座標を 5 秒ごとに取得し、代数を計算して 2 つの間の距離を決定し、それを合計距離のどこかに追加してから、次の 5 秒間繰り返すアルゴリズムを自分で作成する必要があります。

距離を計算する実際のアルゴリズムについては、この回答をご覧ください。

于 2013-07-03T18:34:47.327 に答える