2

アドレスの出力がありません..この PHP コードの何が問題なのですか? 解決策はありますか?

どうも

 <?php
            $str = "Street 1 ZIP City";
            $adr = $str;
            $url = "http://maps.googleapis.com/maps/api/geocode/json?adress=$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);
            ?>
4

1 に答える 1

1

リクエスト文字列にタイプミスがあります: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
)
于 2013-01-28T13:29:42.337 に答える