1

JSON を扱うのはこれが初めてで、明らかに何かが間違っています。それが何であるかは非常にわかりません。

単純な json を解析する方法を調べましたが、Google ジオコードのより深いレベルが原因である可能性があると思います。

値を取得しようとしている方法は次のとおりです。

$getJSON = "http://maps.googleapis.com/maps/api/geocode/json?address=" . str_replace(" ", "", $_POST['postcode']) . "&sensor=false";
            $contentJSON = file_get_contents($getJSON);
            $Geocode_array = json_decode($contentJSON, true);

            $lat = $Geocode_array[results][address_components][geometry][location][lat];
            $lng = $Geocode_array[results][address_components][geometry][location][lng];

必要に応じて、json コードを投稿できます。

4

1 に答える 1

3

配列キーを引用してみてください。引用符がない場合、PHP はそれらのキーが未定義の定数であると想定します。さらに、JSON の結果を完全にトラバースしていません。これを試して:

$lat = $Geocode_array['results'][0]['geometry']['location']['lat'];
$lng = $Geocode_array['results'][0]['geometry']['location']['lng'];

Google Maps API は、複数の結果を配列で提供します。すぐ上のコード ( index 0) の最初のものを参照しています。開発中に役立つことは、 を使用して連想配列を PHP 出力バッファーに出力することprint_r()です。それが私がそれを理解した方法です。

print_r($Geocode_array);
于 2012-05-01T20:14:37.130 に答える