0

重複の可能性:
2 つの緯度経度ポイント間の距離を計算するにはどうすればよいですか?

JavaScriptで地理的位置間のメートル単位の距離を計算するにはどうすればよいですか? この回答を見つけましたが、Java で実装されており、何が起こっているのかよくわかりませんでした。

HTML 5 の地理位置情報機能を使用し、JavaScript を使用して距離を計算しています。今まで私はこの機能を持っています:

    function calculateDistance(lat1, lat2, lng1, lng2)
    {
        return Math.sqrt(((lat1 + lat2)*(lat1 + lat2)) + ((lng1  + lng2)*(lng1  + lng2)));
    }

明らかに、これは私が必要とする値ではありません。誰でも私を助けてもらえますか?

4

2 に答える 2

1
var R = 6371; // Earth radius in km
var dLat = (lat2-lat1).toRad();
var dLon = (lon2-lon1).toRad();
var lat1 = lat1.toRad();
var lat2 = lat2.toRad();

var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
    Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2); 
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
var d = R * c;

これは私のコードではありません。引用元: http://www.movable-type.co.uk/scripts/latlong.html 詳細については、リンクを確認してください。

于 2013-01-23T17:10:20.357 に答える
0

多分これは役に立つかもしれませんし、この答えも役に立つかもしれません。

于 2013-01-23T17:11:28.003 に答える