これは私が見つけたランダムなアドレスですが、機能しませんが、アドレスは正常に存在します。
「チームバレートレーディングエステート、ゲーツヘッド、タインアンドウィアNE92 1DG、英国」
ジオコーディングを試してみて、それがうまくいくかどうか教えていただけますか。私には13のアドレスがあり、12は機能しますが、この1つは機能しません。
これは、ジオコードリクエストを行うために実行しているコードです。
class geocoder{
static private $url = "http://maps.google.com/maps/api/geocode/json?sensor=true&address=";
static public function getLocation($address){
$url = self::$url.urlencode($address);
$resp_json = self::curl_file_get_contents($url);
$resp = json_decode($resp_json, true);
if($resp['status']='OK'){
return $resp['results'][0]['geometry']['location'];
}else{
return false;
}
}
static private function curl_file_get_contents($URL){
$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_URL, $URL);
$contents = curl_exec($c);
curl_close($c);
if ($contents) return $contents;
else return FALSE;
}
}
$address = urlencode("Team Valley Trading Estate, Gateshead, Tyne and Wear NE92 1DG, UK");
$loc = geocoder::getLocation($address);
これは、住所が存在することの証明です:http: //maps.google.co.uk/maps?q=%22Team+Valley+Trading+Estate ,+Gateshead,+Tyne+and+Wear+NE92+1DG,+UK%22&hl = en&sll = 53.103814、-2.278518&sspn = 10.722701,33.815918&t = h&hnear = NE92 + 1DG、+ United + Kingdom&z = 16
これは、ジオコーディングクラスがデータを返す必要があることの証明です。