2017-04-21 7 views
3

私は計算関数とlatlng値を持っていますが、最初と最後の間の距離をどのように計算しますか?2点間の距離を計算するにはどうすればよいですか?

function calculate() { 
     //poo abbreviation for point of origin not poo=shit 
     var poolat = locations[0].lat; 
     var poolng = locations[0].lng; 
     var destlat = locations[locations.length - 1].lat; 
     var destlng = locations[locations.length - 1].lng; 
+0

あなたの投稿にはもっと答えが必要です。あなたは2つのポイント間の直線距離を探していますか(カラスが飛ぶように)? – Tom

+0

はい、空中距離は、私はそれが働いて、とにかくありがとうございました – dbzabuse

答えて

1

もう少しタイピングが必要なHaversine式を使用することも、APIを使用することもできます。

var distance = google.maps.geometry.spherical.computeDistanceBetween(
    new google.maps.LatLng(poolat, poolng), 
    new google.maps.LatLng(destlat, destlng) 
); 

にconsole.log(距離)あなたの計算機能では、次の試してみてください。

注:

距離のデフォルト値はメートル単位です。

+0

ありがとう、魅力のように動作します! – dbzabuse

0

これを試してください。組み込みの数学関数により、はるかに簡単になります。

function calculate() { 
    //poo abbreviation for shit 
    var poolat = locations[0].lat; 
    var poolng = locations[0].lng; 
    var destlat = locations[locations.length - 1].lat; 
    var destlng = locations[locations.length - 1].lng; 

    return Math.sqrt(Math.pow((destlat - poolat),2) + Math.pow((destlng - poolng),2)) 
} 
関連する問題