3

私は場所の緯度を見つけるためにこのコードを使用しています

$api='http://maps.googleapis.com/maps/api/geocode/json?address=United States Neversink&sensor=false';

$result = file_get_contents($api);

$data = json_decode($result);

ただし、警告が表示されます:file_get_contents(http://maps.googleapis.com/maps/api/geocode/json?address=United States Neversink&sensor = false)[function.file-get-contents]:ストリームを開くことができませんでした: HTTPリクエストが失敗しました!139行目のC:\ wamp \ www \ new_yellowpages \ modules \ mod_yellowpages_item_map\helper.phpのHTTP/1.0400不正なリクエスト

誰かがこの問題について知っているなら、私を助けてください。

4

5 に答える 5

23

の代わりにcurlを使用してくださいfile_get_contents

$address = "India+Panchkula";
$url = "http://maps.google.com/maps/api/geocode/json?address=$address&sensor=false&region=India";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close($ch);
$response_a = json_decode($response);
echo $lat = $response_a->results[0]->geometry->location->lat;
echo "<br />";
echo $long = $response_a->results[0]->geometry->location->lng;
于 2012-09-06T06:16:30.210 に答える
14

urlencodeを使用してアドレス部分をエンコードします。(問題はアドレスのスペースです。)

$address = urlencode("United States Neversink");
$api='http://maps.googleapis.com/maps/api/geocode/json?address=$address&sensor=false';

$result = file_get_contents($api);
于 2012-09-06T06:17:37.347 に答える