使用python调用高德地图的web服务

在使用高德地图的web 服务之前,需要先注册为高德开发者 https://lbs.amap.com/api/webservice/summary/
注册完毕后,进入控制台可以看到如下界面:
在这里插入图片描述
点击“应用管理–>我的应用–>创建新应用”
在这里插入图片描述
创建完毕之后,点击加号(添加key)在这里插入图片描述
有了key之后,就可以使用高德提供的web服务了

以高德提供的“行政区查询”功能为例,首先我们访问 https://lbs.amap.com/api/webservice/guide/api/district, 并阅读相关内容,得到此web服务的核心内容如下:

目前高德提供的服务是唯一能让用户查询到乡镇/街道级别信息且小时级更新数据的公开API。
例如:中国>山东省>济南市>历下区>舜华路街道(国>省>市>区>街道)。 使用说明 第一步,申请”Web服务API”密钥(Key);
第二步,拼接HTTP请求URL,第一步申请的Key需作为必填参数一同发送;
第三步,接收HTTP请求返回的数据(JSON或XML格式),解析数据。 如无特殊声明,接口的输入参数和输出数据编码全部统一为UTF-8。

行政区域查询API服务地址: https://restapi.amap.com/v3/config/district?parameters
具体parameters的内容请详细阅读该网页 请求方式:GET

然后我们使用python来调用一下高德的web服务API

import urllib3
import string
from urllib.parse import quote

http = urllib3.PoolManager();

key = "*****52d36087cb49cdebc3da4a*****"   ## 通过前面步骤创建的key,key参数为必需参数
keywords = "浙江"
output = "XML"                             ## 支持XML和JSON
url = quote(f"https://restapi.amap.com/v3/config/district?key={key}&keywords={keywords}&output={output}", safe = string.printable)

resp = http.request('GET', url)
print(resp.data.decode("utf-8"))

然后运行得到结果如下:

<?xml version="1.0" encoding="UTF-8"?>
<response><status>1</status><info>OK</info><infocode>10000</infocode><count>1</count><suggestion><keywords type="list"/><cities type="list"/></suggestion><districts type="list"><district><citycode></citycode><adcode>330000</adcode><name>浙江省</name><center>120.153576,30.287459</center><level>province</level><districts type="list"><district><citycode>0577</citycode><adcode>330300</adcode><name>温州市</name><center>120.672111,28.000575</center><level>city</level><districts type="list"/></district><district><citycode>0574</citycode><adcode>330200</adcode><name>宁波市</name><center>121.549792,29.868388</center><level>city</level><districts type="list"/></district><district><citycode>0580</citycode><adcode>330900</adcode><name>舟山市</name><center>122.106863,30.016028</center><level>city</level><districts type="list"/></district><district><citycode>0573</citycode><adcode>330400</adcode><name>嘉兴市</name><center>120.750865,30.762653</center><level>city</level><districts type="list"/></district><district><citycode>0576</citycode><adcode>331000</adcode><name>台州市</name><center>121.428599,28.661378</center><level>city</level><districts type="list"/></district><district><citycode>0578</citycode><adcode>331100</adcode><name>丽水市</name><center>119.921786,28.451993</center><level>city</level><districts type="list"/></district><district><citycode>0571</citycode><adcode>330100</adcode><name>杭州市</name><center>120.153576,30.287459</center><level>city</level><districts type="list"/></district><district><citycode>0575</citycode><adcode>330600</adcode><name>绍兴市</name><center>120.582112,29.997117</center><level>city</level><districts type="list"/></district><district><citycode>0572</citycode><adcode>330500</adcode><name>湖州市</name><center>120.102398,30.867198</center><level>city</level><districts type="list"/></district><district><citycode>0570</citycode><adcode>330800</adcode><name>衢州市</name><center>118.87263,28.941708</center><level>city</level><districts type="list"/></district><district><citycode>0579</citycode><adcode>330700</adcode><name>金华市</name><center>119.649506,29.089524</center><level>city</level><districts type="list"/></district></districts></district></districts></response>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值