Google Geocoding API使用限制及說明:
https://developers.google.com/maps/documentation/geocoding/?hl=zh-tw
PHP程式範例:
<?php /** * 參數說明: * * latlng=緯度,經度 //必要參數。 * sensor=false //必要參數,請出請求的設備是否有定位裝置,true有/false沒有 * language=zh_TW //回傳資料語系,預設英文,繁中zh_TW/簡中zh_CN */ $google_url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng=緯度,經度&sensor=false&language=zh_TW'; //透過proxy連線網路 //$ctx = stream_context_create(array('http' => array('timeout' => 5, 'proxy' => 'tcp://proxy.xxxxx.xxxxx.tw:3128', 'request_fulluri' => true,))); //$result = file_get_contents($google_url , false, $ctx); //直接連線網路 $result = file_get_contents($google_url); if ($result){ //資料做json_decode反解 $result = json_decode($result, true); //解析正常回傳"OK"值 if ($result['status'] == 'OK'){ //顯示回傳的中文地址 echo $result['results'][0]['formatted_address']; }else{ //顯示錯誤代碼 echo "Error code : ".$result['status']; } } ?>
狀態碼說明:
- "OK" 表示沒有發生任何錯誤;地址的剖析已成功完成且至少傳回一個地理編碼。
- "ZERO_RESULTS" 表示地理編碼成功,但是並未傳回任何結果。如果該地理編碼收到了不存在的 address 或遠端位置的 latlng,就有可能發生這種情況。
- "OVER_QUERY_LIMIT" 表示您超過配額了。
- "REQUEST_DENIED" 表示您的要求已遭拒絕,通常是因為缺少 sensor 參數。
- "INVALID_REQUEST" 一般表示查詢 (address 或 latlng) 遺失了。