接口地址:http://api.map.baidu.com/place/v2/detail |
---|
返回格式:json/xml |
请求方式:get |
请求示例:http://api.map.baidu.com/place/v2/detail?uid=435d7aea036e54355abbbcc8&output=json&scope=2&ak=您的密钥 |
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
uid | string | 必填 | poi的uid |
scope | string | 必填 | 检索结果详细程度。取值为1 或空,则返回基本信息;取值为2,返回检索POI详细信息 |
ak | string | 必填 | 开发者的访问密钥,必填项。v2之前该属性为key 扫码关注公众号 |
uids | string | 选填 | uid的集合,最多可以传入10个uid,多个uid之间用英文逗号分隔 |
output | string | 选填 | 请求返回格式 |
sn | string | 选填 | 开发者的权限签名 |
timestamp | string | 选填 | 设置sn后该值必填 |
名称 | 类型 | 说明 |
---|---|---|
status | int | 本次API访问状态,如果成功返回0,如果失败返回其他数字。(见服务状态码) |
message | string | 对API访问状态值的英文说明,如果成功返回"ok",并返回结果字段,如果失败返回错误说明 |
total | int | POI检索总数,开发者请求中设置了page_num字段才会出现total字段。出于数据保护目的,单次请求total最多为400 |
name | string | poi名称 |
location | object | poi经纬度坐标 |
lat | float | 纬度值 |
lng | float | 经度值 |
address | string | poi地址信息 |
province | string | 所属省份 |
city | string | 所属城市 |
area | string | 所属区县 |
telephone | string | poi电话信息 |
uid | string | poi的唯一标示 |
street_id | string | 街景图id |
detail | string | 是否有详情页:1有,0没有 |
detail_info | object | poi的扩展信息,仅当scope=2时,显示该字段,不同的poi类型,显示的detail_info字段不同 |
{
"status": 0,
"message": "ok",
"result": {
"uid": "435d7aea036e54355abbbcc8",
"street_id": "435d7aea036e54355abbbcc8",
"name": "百度大厦",
"location": {
"lng": 116.30789936414,
"lat": 40.05703792689
},
"address": "北京市海淀区上地十街10号",
"province": "北京市",
"city": "北京市",
"area": "海淀区",
"detail_info": {
"tag": "房地产;写字楼",
"navi_location": {
"lng": 116.30695398742,
"lat": 40.057199045475
},
"alias": [
""
],
"detail_url": "http://api.map.baidu.com/place/detail?uid=435d7aea036e54355abbbcc8&output=html&source=placeapi_v2",
"type": "house",
"overall_rating": "3.8",
"image_num": "50",
"comment_num": "50",
"content_tag": "位置优越;毗邻地铁;花园景观"
},
"detail": 1
}
}
错误码 | 说明 |
---|---|
0 | 服务请求正常召回 |
1 | 服务器内部错误 |
2 | 请求参数非法 |
3 | 权限校验失败 |
4 | 配额校验失败 |
5 | ak不存在或者非法 |
102 | 不通过白名单或者安全码不对 |
2xx | 无权限 |
3xx | 配额错误 |
<?php
/**
* Created by PhpStorm.
* User: FZS
* Time: 2019/9/3 23:10
*/
//----------------------------------
// 地点详情检索 调用类
//----------------------------------
class freeApi{
private $ak;
private $apiUrl;
public function __construct($ak){
$this->ak = $ak;
$this->apiUrl = 'http://api.map.baidu.com/place/v2/detail?uid=435d7aea036e54355abbbcc8&output=json&scope=2&ak='.$this->ak;
}
/**
* 获取结果
* @return array
*/
public function getResult(){
return $this->freeApiCurl($this->apiUrl);
}
/**
* 请求接口返回内容
* @param string $url [请求的URL地址]
* @param string $params [请求的参数]
* @param int $ipost [是否采用POST形式]
* @return string
*/
public function freeApiCurl($url,$params=false,$ispost=0){
$ch = curl_init();
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
curl_setopt( $ch, CURLOPT_USERAGENT , 'free-api' );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
if( $ispost )
{
curl_setopt( $ch , CURLOPT_POST , true );
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
curl_setopt( $ch , CURLOPT_URL , $url );
}
else
{
if($params){
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
}else{
curl_setopt( $ch , CURLOPT_URL , $url);
}
}
$response = curl_exec( $ch );
if ($response === FALSE) {
return false;
}
curl_close( $ch );
return $response;
}
}