现在微信公众平台很多娱乐的,都有用到周边搜索功能,研究下比较简单,通过百度周边搜索接口封装如下:
调用格式:
$wechatBaiduAPI = new WechatBaiduAPI(); $ret = $wechatBaiduAPI->Place_search($str_key,$location['x'].",".$location['y'] );
参数说明:
$query:搜素关键词
$location: 地理位置经纬度
$radius: 搜索半径
<?php class WechatBaiduAPI{ private $api_server_url; private $auth_params; public function __construct() { $this->api_server_url = "http://api.map.baidu.com/place/v2/"; $this->auth_params = array(); $this->auth_params['ak'] = "11ffd27d38deda622f51c9d314d46b1"; } //http://api.map.baidu.com/place/search?&query=眼镜&location=39.915,116.404&radius=3000&output=json&key=37492c0ee6f924cb5e934fa08c6b1676 public function Place_search($query, $location, $radius=3000) { return $this->call("search", array("output" =>json, "query" => $query,"page_size" =>10, "page_num" => 0, "scope" => 2,"location" => $location, "radius" => $radius)); } protected function call($method, $params = array()) { $params = array_merge($this->auth_params, $params); $url = $this->api_server_url . "$method?".http_build_query($params); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $data = curl_exec($ch); curl_close($ch); $result = null; $result = json_decode($data,true); return $result; } }
注意:代码里面的ak,是百度密钥,每个百度帐号都有一个唯一的ak,具体自己可以百度!
$this->auth_params['ak'] = "11ffd27d38deda622f51c9d314d46b1";