2012-12-12 19 views
6

現在、私のワードプレスのウェブサイトの2つのポイント間の走行距離を関数内で計算しています。私は「カエルが飛ぶ」距離を計算する

wp_remote_get(
    "http://maps.googleapis.com/maps/api/distancematrix/json?origins=". 
    urlencode($origin). 
    "&destinations=". 
    urlencode($destination). 
    "&sensor=false&units=imperial" 
) 

を呼び出した後、ユーザーがURLにフォームから入力した起源と目的地を挿入することにより、Googleの距離行列を用いてこれを実現します。似たようなアプローチを使用して「カラスが飛ぶ」距離を計算することは可能ですか、それとも私の関数を再加工する必要がありますか? 2点間

+1

。あなたは地球上の2つのポイント間の物理的な最短距離を取得する数式を検索します。 – MAXIM

+0

この質問はGoogle Maps API V3に関するものではありません。 (タグは削除されました) – Marcelo

答えて

7

距離:(LAT1、lon1)(LAT2、lon2)に

distance = acos(
    cos(lat1 * (PI()/180)) * 
    cos(lon1 * (PI()/180)) * 
    cos(lat2 * (PI()/180)) * 
    cos(lon2 * (PI()/180)) 
    + 
    cos(lat1 * (PI()/180)) * 
    sin(lon1 * (PI()/180)) * 
    cos(lat2 * (PI()/180)) * 
    sin(lon2 * (PI()/180)) 
    + 
    sin(lat1 * (PI()/180)) * 
    sin(lat2 * (PI()/180)) 
    ) * 3959 

3959マイルで地球の半径です。この値をKMの半径 (または他の単位)に置き換えて、同じユニットで結果を取得します。

あなたはこのworked exampleに比較することで、あなたの実装を確認することができます:あなたはGoogleマップなしで行うことができます