2017-08-10 81 views
0

我把這個代碼計算器來計算地址:PHP計算距離 - 在線

$from = urlencode($from); 
    $to = urlencode($to.', Челябинс'); 
    $data = file_get_contents('http://maps.googleapis.com/maps/api/distancematrix/json?origins='.$from.'&destinations='.$to.'&language=ru-RU&sensor=false&mode=driving');//&key=AIzaSyDAJ05io1966D_KmF7lbRsucehr8GtUBqk'); 
    $data = json_decode($data); 
    $time = 0; 
    $distance = 0; 
    foreach($data->rows[0]->elements as $road) { 
     $time += $road->duration->value; 
     $distance += $road->distance->value; 
    } 
    $table[0]=$distance; 
    $table[1]=$time; 

這是工作非常好,一旦我有我的計算機上的文件。 但是當我把它放在網上,它不再工作。

有人會想到會發生什麼問題嗎? 我也讀過API,我們需要一個密鑰,但在我的情況下,它來自我想要使用它的HTML/PHP網站。

在此先感謝您的幫助

編輯:

能找到有關此問題的一個很好的職位:

[Why doesn't file_get_contents work?

其實這個問題是(如果我理解正確)由於服務器的參數,我收到以下消息:

警告:file_get_contents()函數:HTTP://封裝在 服務器配置中禁用於allow_url_fopen = 0

這是一個參數,我們可以修改我們自己還是我們要問的網絡託管商對其進行修改?

+0

」不再工作「<--- _它不再工作了,你看到什麼與你期望看到什麼。谷歌地圖配額超過了 –

+0

?細則會告訴你每個時期你可以撥打多少電話(免費)。同樣,來自API調用的實際響應可能有助於確定wtf。 – YvesLeBorg

+0

那麼,一個朋友告訴我每天限額是2000(實際上我查了,這是25.000)......我每天可能會有10個。 我如何獲得API響應,我會檢查它。 –

回答

0

那麼正如問題所示,需要更改PHP.INI文件中的allow_url_fopen參數。我做到了,現在工作得很好。 在我的情況(hostpapa hosting)我可以自己做。 「