0

これは、同じ問題に関する私の以前の投稿です: Driving-distance- between-2-locations

Google マップを使用して 2 つの場所間の運転距離を見つける必要がありましたが、JavaScript ではなく PHP で必要でした。そのページで受け入れられた回答は、私が探していたものでうまくいきました。私は自分のプロジェクトでこれが必要でしたが、1 週間ほどプロジェクトをテストしていませんでした。その後、コードが機能しなくなりました。コードが突然機能しなくなるためだけに、検索して答えを見つけるのに長い時間がかかりました。

<?php
    $url = 'http://maps.google.com/maps/nav?q=from:London%20to:Dover';
    $data = file_get_contents($url);
    $data = utf8_decode($data);
    $obj = json_decode($data);
    echo $obj->Directions->Distance->meters;
?>

それがコードです。いくつかの var_dumps を試しましたが、理解するのに十分な経験がありません。

各行の Var_dumps:

string(56) " http://maps.google.com/maps/nav?q=from:London%20to:Dover "

string(76) "{"name":"from:London to:Dover","Status":{"code":610,"request":"directions"}}"

string(76) "{"name":"from:London to:Dover","Status":{"code":610,"request":"directions"}}"

object(stdClass)#1 (2) { ["name"]=> string(20) "from:London to:Dover" ["Status"]=> object(stdClass)#2 (2) { ["code" ]=> int(610) ["リクエスト"]=> string(10) "方向" } }

ヌル

他にバグなどをデバッグする方法がわかりません。誰かが助けてくれたら、とてもがっかりしているのでとても感謝しています。

4

1 に答える 1

2

どうぞ

<?php
$url = 'http://maps.googleapis.com/maps/api/distancematrix/json?origins=London&destinations=Dover&mode=driving&language=en&sensor=false';
$data = file_get_contents($url);
$data = utf8_decode($data);
$obj = json_decode($data);

echo($obj->rows[0]->elements[0]->distance->text); //km
echo($obj->rows[0]->elements[0]->distance->value); // meters
于 2013-03-06T13:11:14.387 に答える