将过于详细或简单的地址更改至省市区县街道重新解析;5. 特别提醒:逆地址解析location参数传入的参数格式是(纬度lat,经度lng)。
接口参数| 参数 | 是否必须 | 默认值 | 格式举例 | 含义 | output否jsonjson或xml输出格式为json或者xmladdress是无北京市海淀区上地十街10号根据指定地址进行坐标的反定向解析location是无38.76623,116.43213
lat<纬度>,lng<经度>根据指定坐标来进行地址的解析city否“北京市”“广州市”地址所在的城市名key是无8cb976834235d8cbcde2dce4835ae191用户申请注册的key
上表中address和location两个字段如果同时出现,则优先选择address执行地理编码功能。对于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对特殊字符进行编码。
返回数据说明
返回结果(地址解析的结果)
{status: '字符串状态常量', 取值如下: //OK 成功 INVILID_KEY 非法密钥 INVALID_PARAMETERS 非法参数,参数错误时候给出。 result: { location: { lat: 纬度:数值, lng: 经度:数值 }, precise:’位置的附加信息,是否精确查找’(1为精确查找,0为不精确查找), confidence: 可信度, level:'级别' }, }返回结果(反地址解析的结果)
{status: '字符串状态常量', 取值如下: //OK 成功 INVILID_KEY 非法密钥 INVALID_PARAMETERS 非法参数,参数错误时候给出。 result: { location: { lat: 纬度:数值, lng: 经度:数值 }, formatted_address: ‘详细地址描述’, business: '周围商圈', addressComponent:{ city:’城市名称’, district: ‘区县名称’, province:’省份名称’, street: ‘街道名称’, streetNumber: '门牌号码' }, cityCode: '城市代码' } } 接口示例
根据详细地址获取坐标
http://api.map.baidu.com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=json&key=37492c0ee6f924cb5e934fa08c6b1676
//根据“上地十街10号”返回坐标“lng:116.307175, lat:40.057098”,以json格式输出
http://api.map.baidu.com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=xml&key=37492c0ee6f924cb5e934fa08c6b1676
//根据“上地十街十号”返回坐标“lng:116.307175, lat:40.057098”,以xml格式输出
在指定城市内检索详细地址的坐标
http://api.map.baidu.com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=json&key=37492c0ee6f924cb5e934fa08c6b1676&city=%E5%8C%97%E4%BA%AC%E5%B8%82
// 在北京市内根据“上地十街10号”返回坐标“lng:116.307175, lat:40.057098”,以json格式输出
http://api.map.baidu.com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=xml&key=37492c0ee6f924cb5e934fa08c6b1676&city=%E5%8C%97%E4%BA%AC%E5%B8%82
// 在北京市内根据“上地十街10号”返回坐标“lng:116.307175, lat:40.057098”,以json格式输出
根据特定建筑物获取它的坐标
http://api.map.baidu.com/geocoder?address=%E7%99%BE%E5%BA%A6%E5%A4%A7%E5%8E%A6&output=json&key=37492c0ee6f924cb5e934fa08c6b1676 //根据“百度大厦”名称返回坐标“lng:116.307175, lat:40.057098”,以json格式输入
http://api.map.baidu.com/geocoder?address=%E7%99%BE%E5%BA%A6%E5%A4%A7%E5%8E%A6&output=xml&key=37492c0ee6f924cb5e934fa08c6b1676 //根据“百度大厦”名称返回坐标“lng:116.307175, lat:40.057098”,以xml格式输入
根据“*路与*路交叉路口”类型地址描述获得它的坐标
http://api.map.baidu.com/geocoder?address=%E5%8C%97%E4%B8%80%E7%8E%AF%E8%B7%AF%E5%92%8C%E9%98%9C%E9%98%B3%E8%B7%AF%E7%9A%84%E4%BA%A4%E5%8F%89%E8%B7%AF%E5%8F%A3&output=json&key=37492c0ee6f924cb5e934fa08c6b1676
//根据“北一环路和阜阳路的交叉路口”名称返回坐标“lng:117.294364, lat:31.885558”,以json格式输入
http://api.map.baidu.com/geocoder?address=%E5%8C%97%E4%B8%80%E7%8E%AF%E8%B7%AF%E5%92%8C%E9%98%9C%E9%98%B3%E8%B7%AF%E7%9A%84%E4%BA%A4%E5%8F%89%E8%B7%AF%E5%8F%A3&output=xml&key=37492c0ee6f924cb5e934fa08c6b1676
//根据“北一环路和阜阳路的交叉路口”名称返回坐标“lng:117.294364, lat:31.885558”,以xml格式输入
根据坐标获取它的地址
http://api.map.baidu.com/geocoder?output=json&location=39.983424,%20116.322987&key=37492c0ee6f924cb5e934fa08c6b1676
//解析“lat:39.983424, lng:116.322987”坐标返回“北京市海淀区中关村大街27号1101-08室”,以json格式输出
http://api.map.baidu.com/geocoder?output=xml&location=39.983424,%20116.322987&key=37492c0ee6f924cb5e934fa08c6b1676
//解析“lat:39.983424, lng:116.322987”坐标返回“北京市海淀区中关村大街27号1101-08室