2012-12-12 63 views
6

我目前正在計算一個函數內的一個wordpress網站上兩點之間的行駛距離。我做到這一點使用谷歌距離矩陣通過調用計算「作爲烏鴉」的距離php

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

,然後插入起始點和目的地用戶已經通過形式進入網址輸入。是否有可能使用類似的方法來計算「像烏鴉一樣」的距離,還是必須重新修改我的功能?

+1

,你可以沒有谷歌地圖做。搜索讓您獲得地球上兩點之間物理最短距離的公式。 – MAXIM

+0

此問題與Google Maps API V3無關。 (標籤已移除) – Marcelo

回答

7

2點之間的距離:至(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(LAT1,lon1)是在萬里地球半徑。用KM(或任何其他單位)中的 半徑替換此值,以獲得同一單元上的結果。

您可以通過比較這worked example驗證的實現: