通过PHP开发地图功能的时候经常会使用到地址经纬度,今天分享如何PHP使用百度地图api获取指定地址的经纬度。
public function getLatLng($address='成都',$city='成都') { $result = array(); $url =http://api.map.baidu.com/geocoding/v3/?address=.$address.&city=.$city.&output=json&ak=您的ak秘钥&callback=showLocation; // $url =http://api.map.baidu.com/geocoder/v2/?callback=renderOption&output=json&address=.$address.&city=.$city.&ak=.$ak; $data = file_get_contents($url); $data = str_replace(showLocation&&showLocation(, , $data); $data = str_replace(), , $data); $data = json_decode($data,true); $result[lat] = $data[result][location][lat]; $result[lng] = $data[result][location][lng]; if (!empty($data) && $data[status] == 0) { $result[lat] = round($data[result][location][lat],6); $result[lng] = round($data[result][location][lng],6); return $result;//返回经纬度结果 }else{ return null; } }
官方文档
http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding
使用例子
http://api.map.baidu.com/geocoding/v3/?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocation //GET请求