2012-12-12 17 views
6

Şu anda bir fonksiyon içinde wordpress sitelerimden birinde iki nokta arasındaki sürüş mesafesini hesaplıyorum. BenHesaplayın "karga sinekleri" uzaklık php

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

arayarak ve ardından çıkış ve varış noktalarını kullanıcıların url içine formuyla girmiş ekleyerek google mesafe matrisi kullanılarak Bunu gerçekleştirmek. "Karga uçar gibi" bir mesafe hesaplamak için benzer bir yaklaşım kullanmak mümkün mü ya da işlevimi yeniden çalıştırmak zorunda mıyım? 2 puan arasında

+1

. Dünyadaki iki nokta arasındaki fiziksel en kısa mesafeyi alan formülü arayın. – MAXIM

+0

Bu soru, Google Haritalar API V3 ile ilgili değil. (etiket kaldırıldı) – Marcelo

cevap

7

Mesafe: (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 için (lat1, lon1) Miles toprak yarıçapıdır. Aynı birimde sonuç almak için bu değeri KM'de (veya başka bir birim) yarıçapı ile değiştirin.

Bu worked example için karşılaştırarak uygulanmasını doğrulayabilirsiniz: google maps olmadan yapabileceği