|
|
发表于 2020-7-7 23:33:00
|
显示全部楼层
示例:
http://blog.iytc.net/tools/map.php
[ol] $ak, 'location' => implode(',', array($latitude, $longitude)), 'pois' => $pois, 'output' => 'json' ); // 请求百度api $response = self::toCurl(self::API, $param); $result = array(); if($response){ $result = json_decode($response, true); } return $result; } public static function locationByNAME($ak, $name, $pois=self::NO_POIS){ $param = array( 'ak' => $ak, 'address' => str_replace(' ','+',$name), 'pois' => $pois, 'output' => 'json' ); // 请求百度api $response = self::toCurl(self::API, $param); $result = array(); if($response){ $result = json_decode($response, true); } return $result; }public function locationByIP($ak,$ip, $pois=self::NO_POIS) { //检查是否合法IP if (!filter_var($ip, FILTER_VALIDATE_IP)) { throw new Exception('ip地址不合法'); } $param = array( 'ak' => $ak, 'ip' => $ip, 'pois' => $pois, 'coor' => 'bd09ll'//百度地图GPS坐标 ); $api = 'http://api.map.baidu.com/location/ip'; // 请求百度api $response = self::toCurl($api, $param); $result = array(); if($response){ $result = json_decode($response, true); } return $result;} /** * 使用curl调用百度Geocoding API * @param String $url 请求的地址 * @param Array $param 请求的参数 * @return JSON */ private static function toCurl($url, $param=array()){ $ch = curl_init(); if(substr($url,0,5)=='https'){ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在 } curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($param)); $response = curl_exec($ch); if($error=curl_error($ch)){ return false; } curl_close($ch); return $response; }} ?>[/ol]复制代码 |
|