根據標準google推出的做法,我們需要串接
http://maps.googleapis.com/maps/api/geocode/json?address=地址
這支API ,不過這支API是有限制使用量的
最近遇到一個問題就是我要批次轉換地址和經緯度,結果就被封鎖起來了
現在這個問題有解決方案了,亂逛亂逛的結果讓我找到另一支隱藏的API。(正確來源我也不知道打哪來的),順手就寫成一個 function 備用吧!
下面的兩個 function 需要同時使用,因為getLatLng會需要用到object_2_array這個函式
http://maps.googleapis.com/maps/api/geocode/json?address=地址
這支API ,不過這支API是有限制使用量的
最近遇到一個問題就是我要批次轉換地址和經緯度,結果就被封鎖起來了
現在這個問題有解決方案了,亂逛亂逛的結果讓我找到另一支隱藏的API。(正確來源我也不知道打哪來的),順手就寫成一個 function 備用吧!
下面的兩個 function 需要同時使用,因為getLatLng會需要用到object_2_array這個函式
function getLatLng($address) { // $address = urlencode($address); $url = 'http://maps.google.com/maps/geo?q='.$address.''; $curl = curl_init() ; curl_setopt($curl , CURLOPT_URL , "$url") ; curl_setopt($curl , CURLOPT_RETURNTRANSFER , 1) ; $info = curl_exec($curl) ; curl_close($curl) ; // print_r($info); $a = json_decode($info); $b = object_2_array($a->Placemark); $c = object_2_array($b[0]->ExtendedData); $d = object_2_array($c['LatLonBox']); // $b = $a->results[0]; // print_r($d); $r['lat'] = $d['north']; $r['lng'] = $d['east']; if($r['lat'] == ""){ return false; }else{ return $r; } } function object_2_array($result) { $array = array(); foreach ($result as $key=>$value) { if (is_object($value)) { $array[$key]=object_2_array($value); } if (is_array($value)) { $array[$key]=object_2_array($value); } else { $array[$key]=$value; } } return $array; }
留言
請問可以用一個簡單的範,例介紹一下怎麼用嗎? 3Q
可以的話,請寄到 meteor0721@gmail.com
後學我也需要一個簡單的範例介紹
學習怎麼用
如果可以也請mail一份給我
chanchinsung@gmail.com
謝謝您