1

Googleマップから郵便番号の経度と緯度を取得できましたが、2つの間の距離を取得できません。次のURLは私にいくつかのJSONを与えます:

https://maps.googleapis.com/maps/api/distancematrix/json?origins=51.6896118,-0.7846495&destinations=51.7651382,-3.7914676&units=imperial&sensor=false

しかし、PHPを使用してそれを取り除くことはできません。

<?php
    $du = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=51.6896118,-0.7846495&destinations=51.7651382,-3.7914676&units=imperial&sensor=false";
    $djd = json_decode(utf8_encode($du),true);
    print("-".$djd."-");
?>

なぜこれなのか誰か知っていますか?

編集

以下は問題なく機能しました。

<?php
    $pc1 = 'SA92NH';
    $pc2 = 'HP270SW';
    $url1 = "https://maps.googleapis.com/maps/api/geocode/json?address=".$pc1."&sensor=false";
    $url2 = "https://maps.googleapis.com/maps/api/geocode/json?address=".$pc2."&sensor=false";
    $url1_data = file_get_contents($url1);
    $url2_data = file_get_contents($url2);
    $json1_data = json_decode(utf8_encode($url1_data),true);
    $json2_data = json_decode(utf8_encode($url2_data),true);
    $longlat1 = $json1_data['results'][0]['geometry']['location']['lat'].",".$json1_data['results'][0]['geometry']['location']['lng'];
    $longlat2 = $json2_data['results'][0]['geometry']['location']['lat'].",".$json2_data['results'][0]['geometry']['location']['lng'];
    print($longlat1."<br>\n");
    print($longlat2."<br>\n");
?>
4

2 に答える 2

4

これはあなたが探しているものですか?データを取得する必要があります。URLを入力するだけでは不十分です。

私の例では、getfile_get_contentsを使用しています。

<?php
    $du = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?origins=51.6896118,-0.7846495&destinations=51.7651382,-3.7914676&units=imperial&sensor=false");
    $djd = json_decode(utf8_encode($du),true);
    print_r($djd);
?>

http://codepad.viper-7.com/LqxpJW

于 2013-03-26T14:44:32.613 に答える
2
$url = 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=51.6896118,-0.7846495&destinations=51.7651382,-3.7914676&units=imperial&sensor=false';

$content = file_get_contents($url);
$json = json_decode($content, true);

その後、配列のように$ jsonにアクセスします!そんな感じ:

echo $json['rows']['elements']['distance']['text'];
于 2013-03-26T14:46:34.557 に答える