地理位置情報を取得するために Google API にアクセスしています。
エンドポイントは次のようになります:
https://maps.googleapis.com/maps/api/geocode/xml?address=84100 オレンジ FR&key=apikey
このリンクを Chrome ブラウザで開くと、API はいくつかのデータを返します。
file_gets_content または simplexml_load_file を使用してアクセスすると、「結果ゼロ」が返されます。
いくつかのテストの後、ブラウザ自体がイタリア語に設定されていたため、Chrome で結果を確認できることがわかりました。英語に設定すると、PHP と同様に「結果ゼロ」が返されます。
PHP で Chrome と同じ結果を得るにはどうすればよいですか?
実はここで問題を発見しました。
基本的に、Chrome をイタリア語に設定すると、おそらくパラメータの順序が並べ替えられ、異なる結果が返されました。
実際の問題は、住所パラメータにあり、郵便番号の前に都市が来ます。
また、パラメータ & language=it を追加すると、同じ理由で機能する可能性があります。
したがって、正しい URL は
である必要があります。https://maps.googleapis.com/maps/api/geocode/xml?address=ORANGE 84100 FR&key=apikey
この問題のデバッグに時間がかかりすぎました。