百度地图地址解析

来源:互联网 发布:淘宝三星要多少信誉 编辑:程序博客网 时间:2024/06/06 00:09

百度地图开放平台:(http://lbsyun.baidu.com/)

Geocoding API 是一类接口,用于提供从地址到经纬度坐标或者从经纬度坐标到地址的转换服务,用户可以使用C# 、C++、Java等开发语言发送请求且接收JSON、XML的返回数据。

Geocoding API 已全面支持HTTP/HTTPS两种请求形式。后文介绍中以HTTP请求为例。
geocoding.png
Geocoding API包括地址解析和逆地址解析功能:
地理编码:即地址解析,由详细到街道的结构化地址得到百度经纬度信息,例如:“北京市海淀区中关村南大街27号”地址解析的结果是“lng:116.31985,lat:39.959836”。同时,地理编码也支持名胜古迹、标志性建筑名称直接解析返回百度经纬度,例如:“百度大厦”地址解析的结果是“lng:116.30815,lat:40.056885” ,通用的POI检索需求,建议使用Place API。
逆地理编码:即逆地址解析,由百度经纬度信息得到结构化地址信息,例如:“lat:31.325152,lng:120.558957”逆地址解析的结果是“江苏省苏州市虎丘区塔园路318号”。
坐标系说明

WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。

GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。

BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标

Geocoding API默认输入输出坐标类型为百度坐标(BD09),同时可通过参数(”coord_type”,”ret_coordtype”)控制输入输出坐标类型。
输入坐标支持以上三种坐标系,输出坐标支持-国测局坐标(GCJ02)和百度坐标(BD09)

注意:不同类型坐标如需转换,请使用百度地图开放平台提供的标准坐标转换接口。请勿使用其他渠道提供的坐标转换方法,以免影响坐标转换精度。
使用说明

使用限制:
百度地图Geocoding API是一套免费对外开放的API,默认配额6000次/天。
同一个帐号下的HTTP/HTTPS请求,配额、并发共享。
使用方法:
第一步:申请ak(即获取密钥),若无百度账号则首先需要注册百度账号。
第二步,拼写发送HTTP/HTTPS请求的url,注意需使用第一步申请的ak。
第三步,接收HTTP/HTTPS请求返回的数据(支持json和xml格式)。
Hello, World示例:
发送一个地址是“百度大厦”的请求,返回该地址对应的地理坐标。示例URL如下:
http://api.map.baidu.com/geocoder/v2/?address=北京市海淀区上地十街10号&output=json&ak=E4805d16520de693a3fe707cdc962045&callback=showLocation
服务地址

服务地址:
http://api.map.baidu.com/geocoder/v2/
组成说明:
域名:api.map.baidu.com
服务名:geocoder
服务版本号:较之前版本,v2版本新增参数。
通用接口参数

参数 是否必须 默认值 格式举例 含义
output 否 xml json或xml 输出格式为json或者xml
ret_coordtype 否 无 gcj02ll、bd09mc 可选参数,添加后返回国测局经纬度坐标或百度米制坐标
ak 是 无 E4805d16520de693a3fe707cdc962045 用户申请注册的key,自v2开始参数修改为“ak”,之前版本参数为“key”
sn 否 无 若用户所用ak的校验方式为sn校验时该参数必须。 (sn生成算法)
callback 否 无 callback=showLocation(JavaScript函数名) 将json格式的返回值通过callback函数返回以实现jsonp功能
地理编码服务

地理编码专属请求参数:
参数 是否必须 默认值 格式举例 含义 参数
address 是 无 北京市海淀区上地十街10号
根据指定地址进行坐标的反定向解析,最多支持100个字节输入。

可以输入三种样式的值,分别是:
1、标准的地址信息,如北京市海淀区上地十街十号
2、名胜古迹、标志性建筑物,如天安门,百度大厦
3、支持“路与路交叉口”描述方式,如北一环路和阜阳路的交叉路口

注意:后两种方式并不总是有返回结果,只有当地址库中存在该地址描述时才有返回。

最多支持84个字节

city 否 “北京市” “广州市”
地址所在的城市名。用于指定上述地址所在的城市,当多个城市都有上述地址时,该参数起到过滤作用。

对于address字段可能会出现中文或其它一些特殊字符(如:空格),对于类似的字符要进行编码处理,编码成 UTF-8 字符的二字符十六进制值,凡是不在下表中的字符都要进行编码。
字符集合 字符
URL非保留字 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 - _ . ~
URL保留字 ! * ’ ( ) ; : @ & = + $ , / ? % # [ ]
附注:
1、javascript中一般采用encodeURIComponent函数对特殊字符进行编码;
2、Java中可以使用函数URLEncoder.encode对特殊字符进行编码;
3、C#中可以使用函数HttpUtility.UrlEncode对特殊字符进行编码;
4、php中可以使用函数urlencode对特殊字符进行编码。
地理编码示例:
以下是关于地理编码参数使用方法的示例。发送请求显示结果的JavaScript代码此处查看。
请求示例:对北京市百度大厦进行地理编码查询;
http://api.map.baidu.com/geocoder/v2/?callback=renderOption&output=json&address=百度大厦&city=北京市&ak=您的ak
地理编码返回结果字段:
名称 类型 说明
status Int 返回结果状态值, 成功返回0,其他值请查看下方返回码状态表。
location object 经纬度坐标
lat float 纬度值
lng float 经度值
precise Int 位置的附加信息,是否精确查找。1为精确查找,即准确打点;0为不精确,即模糊打点。
confidence Int 可信度,描述打点准确度
level string 地址类型
json格式的返回值:

不带回调函数的值没有renderOption&&renderOption()
特别说明: 若解析status字段为OK,但结果内容为空,原因分析及可尝试方法: 1、地址库里无此数据,本次结果为空; 2、加入city字段重新解析; 3、将过于详细或简单的地址更改至省市区县街道重新解析。
逆地理编码服务

逆地理编码专属请求参数:
参数 是否必须 默认值 格式举例 含义
coordtype 否 bd09ll bd09ll 百度经纬度坐标 坐标的类型,目前支持的坐标类型包括:bd09ll(百度经纬度坐标)、bd09mc(百度米制坐标)、gcj02ll(国测局经纬度坐标)、wgs84ll( GPS经纬度)
location 是 无 38.76623,116.43213
lat<纬度>,lng<经度>

根据经纬度坐标获取地址。支持批量,多组坐标间用|分隔,单次请求最多解析20组坐标。超过20组取前20组解析。批量解析需使用batch参数。批量解析仅召回行政区划数据。
batch 否 false true、false 请求为批量时必须,batch=true;若batch=false或为空,请求只解析第一组坐标。
pois 否 0 0 是否显示指定位置周边的poi,0为不显示,1为显示。当值为1时,默认显示周边1000米内的poi。
radius 否 1000 500 poi召回半径,允许设置区间为0-1000米,超过1000米按1000米召回。
状态字段:
名称 类型 说明
status constant 返回结果状态值, 成功返回0,其他值请查看附录。
location lat 纬度坐标
lng 经度坐标
formatted_address 结构化地址信息
business 所在商圈信息,如 “人民大学,中关村,苏州街”
addressComponent country 国家
province 省名
city 城市名
district 区县名
street 街道名
street_number 街道门牌号
adcode 行政区划代码
country_code 国家代码
direction 和当前坐标点的方向,当有门牌号的时候返回数据
distance 和当前坐标点的距离,当有门牌号的时候返回数据
pois(周边poi数组) addr 地址信息
cp 数据来源
direction 和当前坐标点的方向
distance 离坐标点距离
name poi名称
poiType poi类型,如’ 办公大厦,商务大厦’
point poi坐标{x,y}
tel 电话
uid poi唯一标识
zip 邮编
sematic_description constant 当前位置结合POI的语义化结果描述。
poiRegions direction_desc 命中区域面与坐标位置关系
name 命中区域面名称
tag 命中区域面类型
cityCode 城市id(不再更新)
json示例:
http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=39.983424,116.322987&output=json&pois=1&ak=您的ak

xml示例:
http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1&ak=您的ak
特别说明:
1、因为Geocoding和反Geocoding使用的门址数据以及算法都不是一样的,所以会出现不能一一对应的现象。
2、逆地址解析location参数传入的参数格式是(纬度lat,经度lng)。
返回码状态表

返回码 定义
0 正常
1 服务器内部错误
2 请求参数非法
3 权限校验失败
4 配额校验失败
5 ak不存在或者非法
101 服务禁用
102 不通过白名单或者安全码不对
2xx 无权限
3xx 配额错误

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 打孩子越打上瘾怎么办 八个月不想要了怎么办 胎儿心脏畸形肺动脉瓣闭锁怎么办 小孩爱动怎么办补什么 初中孩子下午上课总犯困怎么办 孩子上课精神不集中怎么办 孩子玩兴奋了就打人怎么办 婴儿兴奋白天不睡觉怎么办 小孩读书精神不集中怎么办 小孩上课精神不集中怎么办 小孩学习精神不集中怎么办 孩子暑假天天看电视不出门怎么办 七个月宝宝缺铁怎么办 天天运动为什么还便秘怎么办 小孩学习注意力不集中怎么办 8个月宝贝太好动怎么办 学生在校受伤家长该怎么办 多动症小孩爱动手指怎么办 孩子大了不听话该怎么办 流产后吹了风怎么办 怀孕1周内喝酒了怎么办 怀孕6周喝酒了怎么办 怀孕后喝了酒怎么办 不知道怀孕喝酒了怎么办 不知道怀孕了喝酒了怎么办 怀孕5天喝酒了怎么办 打孩子耳光后脸肿了怎么办 老师说上课不专心怎么办 孩子不专心好动马虎怎么办 学生上课不认真听讲怎么办 一年级孩子上课不注意听讲怎么办 一年级孩子上课说话不听课怎么办 一年级孩子上课不听课怎么办 小学一年级学生上课不专心怎么办? 小孩听课注意力不集中怎么办 小孩子上课精神不集中怎么办 孩子说我不画了怎么办 幼儿园小朋友上课不专心怎么办 孩子写作业不专心怎么办 小孩做作业不专心怎么办 孩子上课精力不集中怎么办