リクエスト文字列にタイプミスがあります:adress
の代わりにaddress
. 正しいリクエスト文字列は次のとおりです。
$url = "http://maps.googleapis.com/maps/api/geocode/json?address=$adr&sensor=false";
また、リクエスト文字列に貼り付ける前に、パラメーターにPHP のurlencode()
関数を使用することをお勧めします。$adr
以前にリストされた変更を含むコードをコピーして貼り付けました。つまり、次のとおりです。
$str = "Street 1 ZIP City";
$adr = urlencode($str);
$url = "http://maps.googleapis.com/maps/api/geocode/json?address=$adr&sensor=false";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_ENCODING, "");
$curlData = curl_exec($curl);
curl_close($curl);
$address = json_decode($curlData);
print_r($address);
この例のブラウザでの出力は次のとおりです。
stdClass Object
(
[results] => Array
(
[0] => stdClass Object
(
[address_components] => Array
(
[0] => stdClass Object
(
[long_name] => 1st Street
[short_name] => 1st St
[types] => Array
(
[0] => route
)
)
[1] => stdClass Object
(
[long_name] => Rock Hill
[short_name] => Rock Hill
[types] => Array
(
[0] => locality
[1] => political
)
)
[2] => stdClass Object
(
[long_name] => York
[short_name] => York
[types] => Array
(
[0] => administrative_area_level_2
[1] => political
)
)
[3] => stdClass Object
(
[long_name] => South Carolina
[short_name] => SC
[types] => Array
(
[0] => administrative_area_level_1
[1] => political
)
)
[4] => stdClass Object
(
[long_name] => United States
[short_name] => US
[types] => Array
(
[0] => country
[1] => political
)
)
[5] => stdClass Object
(
[long_name] => 29730
[short_name] => 29730
[types] => Array
(
[0] => postal_code
)
)
)
[formatted_address] => 1st Street, Rock Hill, SC 29730, USA
[geometry] => stdClass Object
(
[bounds] => stdClass Object
(
[northeast] => stdClass Object
(
[lat] => 34.9241861
[lng] => -81.01329
)
[southwest] => stdClass Object
(
[lat] => 34.923073
[lng] => -81.0157245
)
)
[location] => stdClass Object
(
[lat] => 34.923658
[lng] => -81.014494
)
[location_type] => GEOMETRIC_CENTER
[viewport] => stdClass Object
(
[northeast] => stdClass Object
(
[lat] => 34.924978530291
[lng] => -81.013158269708
)
[southwest] => stdClass Object
(
[lat] => 34.922280569709
[lng] => -81.015856230292
)
)
)
[partial_match] => 1
[types] => Array
(
[0] => route
)
)
[....more addresses here..]
)
[status] => OK
)