【2020最新,无错误!】python实现百度API---地址转经纬度(地理编码)/经纬度转地址(逆地理编码),含源码

百度API

获取AK

首先我们打开百度API开放平台,注册/登陆自己的账号,成为百度开发者,在「应用管理」— 「我的应用」中创建应用,如下所示:

在这里插入图片描述

在「创建应用」中输入「应用名称」,并且「请求校验方式」选择「IP白名单交验」,这里我们不使用「sn校验方式」,因为需要计算sn,并且为了方便,IP白名单选择了“0.0.0.0/0”,不对IP进行限制(这里是为了Debug,如果想要上线,请设置合理的IP白名单),然后提交即可。

在这里插入图片描述

「访问应用(AK)」是我们所需的。

获取地址对应的经纬度----地理编码

查看百度开放平台中的「开发文档」—「Web服务API」,选择「地点输入提示」—「地理编码」,我们可以找到地理编码接口的url:

http://api.map.baidu.com/geocoding/v3/?address=北京市海淀区上地十街10号&city=北京市&output=json&ak=您的ak&callback=showLocation //GET请求

其中:

  • address:所查询的地名;
  • city:查询地区的城市,「可以省略」,主要是为了限定地区排除部分城市地区重名问题;
  • json:输出格式为json格式,方便后期获取地址;
  • ak:即上面我们获取的API Key;

完整的请求参数如下:

参数名 参数含义 类型 举例 默认值 是否必须
address 待解析的地址。最多支持84个字节。
可以输入两种样式的值,分别是:
1、标准的结构化地址信息,如北京市海淀区上地十街十号 【推荐,地址结构越完整,解析精度越高】
2、支持“路与路交叉口”描述方式,如北一环路和阜阳路的交叉路口
第二种方式并不总是有返回结果,只有当地址库中存在该地址描述时才有返回。
string 北京市海淀区上地十街10号
city 地址所在的城市名。用于指定上述地址所在的城市,当多个城市都有上述地址时,该参数起到过滤作用,但不限制坐标召回城市。 string 北京市
ret_coordtype 可选参数,添加后返回国测局经纬度坐标或百度米制坐标 坐标系说明 string gcj02ll(国测局坐标)、bd09mc(百度墨卡托坐标) bd09ll(百度经纬度坐标)
ak 用户申请注册的key,自v2开始参数修改为“ak”,之前版本参数为“key”申请ak string
sn 若用户所用ak的校验方式为sn校验时该参数必须 sn生成 string
output 输出格式为json或者xml string json或xml xml
callback 将json格式的返回值通过callback函数返回以实现jsonp功能 string

主要的返回结果参数为:

名称 含义 类型
status 返回结果状态值, 成功返回0,其他值请查看下方返回码状态表。 int
location 经纬度坐标(包含lng和lat) object
precise 位置的附加信息,是否精确查找。1为精确查找,即准确打点;0为不精确,即模糊打点。 int
level 能精确理解的地址类型,包含:UNKNOWN、国家、省、城市、区县、乡镇、村庄、道路、地产小区、商务大厦、政府机构、交叉路口、商圈、生活服务、休闲娱乐、餐饮、宾馆、购物、金融、教育、医疗 、工业园区 、旅游景点 、汽车服务、火车站、长途汽车站、桥 、停车场/停车区、港口/码头、收费区/收费站、飞机场 、机场 、收费处/收费站 、加油站、绿地、门址 string

接下来我们使用「request包」爬取对应的json内容:

def BaiduQuery(address
  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值