接口地址:https://apis.map.qq.com/ws/place/v1/suggestion |
---|
返回格式:json/jsonp |
请求方式:get |
请求示例:https://apis.map.qq.com/ws/place/v1/suggestion?key=yourkey&keyword=KFC®ion=北京 |
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
key | string | 必填 | 开发密钥 扫码关注公众号 |
keyword | string | 必填 | 用户输入的关键词(希望获取后续提示的关键词) |
region | string | 必填 | 限制城市范围 |
region_fix | string | 选填 | 0:[默认]当前城市无结果时,自动扩大范围到全国匹配;1:固定在当前城市 |
location | string | 选填 | 定位坐标,传入后,若用户搜索关键词为类别词(如酒店、餐馆时),与此坐标距离近的地点将靠前显示 |
get_subpois | string | 选填 | 是否返回子地点,如大厦停车场、出入口等 |
policy | string | 选填 | 检索策略 |
filter | string | 选填 | 筛选条件 |
address_format | string | 选填 | 可选值:short |
page_index | string | 选填 | 页码,从1开始,最大页码需通过count进行计算,必须与page_size同时使用 |
page_size | string | 选填 | 每页条数,取值范围1-20,必须与page_index 时使用 |
output | string | 选填 | 返回格式:支持JSON/JSONP,默认JSON |
callback | string | 选填 | JSONP方式回调函数 |
名称 | 类型 | 说明 |
---|---|---|
- | - | - |
{
"status": 0,
"message": "query ok",
"count": 100,
"data": [{
"id": "4062879599476274838",
"title": "海底捞火锅(西单店)",
"address": "北京市西城区西单北大街109号西单婚庆大楼7层",
"category": "美食:火锅",
"type": 0,
"location": {
"lat": 39.9139,
"lng": 116.3732
}
}],
"request_id": "885577531863624173"
}
错误码 | 说明 |
---|---|
310 | 请求参数信息有误 |
311 | Key格式错误 |
306 | 请求有护持信息请检查字符串 |
110 | 请求来源未被授权 |
<?php
class freeApi{
private $apiUrl;
private $appKey;
public function __construct($appKey){
$this->appKey = $appKey;
$this->apiUrl = 'https://apis.map.qq.com/ws/place/v1/suggestion';
}
/**
* 获取结果
* @return string
*/
public function getResult(){
$paras = [
'key' => $this->appKey,
'keyword' => 'KFC',
'region' => '北京'
];
return $this->freeApiCurl($this->apiUrl,$paras);
}
/**
* 请求接口返回内容
* @param string $url [请求的URL地址]
* @param string $params [请求的参数]
* @return string
*/
public function freeApiCurl($url,$params=[]){
if (!$params) return false;
return file_get_contents($url.'?'.http_build_query($params));
}
}
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
)
const (
APIURL = "https://apis.map.qq.com/ws/place/v1/suggestion"
APIKEY = "your key"
)
func main() {
queryUrl := fmt.Sprintf("%s?key=%s&keyword=KFC®ion=北京",APIURL,APIKEY)
resp, err := http.Get(queryUrl)
if err != nil {
log.Println(err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}