前言
最近打算做一些地图可视化的工作,然后发现可以借助高德api来在地图上进行批量标记、画多边形。
介绍
高德地图为个人开发者开放了一定免费次数的api,包括地理/逆地理编码、路径规划、行政区域查询、交通事件、IP定位、坐标转换等服务。(详情可见高德开放平台高德开放平台 | 高德地图API (amap.com))
准备工作
1. 申请高德地图api服务
搜索“高德地图开放平台”或者“高德地图api”,进入官网,登录账号。
2. 进入控制台(右上方),点击应用管理-我的应用,然后添加key
3. 添加key,服务平台选择Web服务,其他的自己随意填写咯
4. 记下key,后面的每次调用都需要这个key
开冲
1.地理/逆地理编码
地理编码/逆地理编码 API 是通过 HTTP/HTTPS 协议访问远程服务的接口,提供结构化地址与经纬度之间的相互转化的能力。
适用场景
- 地理编码:将详细的结构化地址转换为高德经纬度坐标。且支持对地标性名胜景区、建筑物名称解析为高德经纬度坐标。
- 逆地理编码:将经纬度转换为详细结构化的地址,且返回附近周边的POI、AOI信息。
I. 地理编码
- 地理api服务地址
URL | https://restapi.amap.com/v3/geocode/geo?parameters |
请求方式 | GET |
parameters代表可选参数,参数间使用符号“&”连接,参数见下表。
- 请求参数
参数名 | 含义 | 是否必须 | 缺省值 |
key | 高德key,用户在官网申请Web服务API类型的key | 必须 | 无 |
address | 结构化的地址信息 | 必须 | 无 |
city | 指定查询的城市,可选输入内容包括:指定城市的中文(如北京)、指定城市的中文全拼(beijing)、citycode(010)、adcode(110000) | 可选 | 无,会进行全国范围内的搜索 |
sig | 数字签名 | 可选 | 无 |
output | 返回数据格式类型,json或xml | 可选 | json |
callback | 回调函数,只在 output 参数设置为 JSON 时有效 | 可选 | 无 |
- 返回参数
参数名 | 含义 | 规则说明 | |
status | 返回结果状态值 | 返回值为0或1,0表示请求失败,1表示请求成功 | |
count | 返回结果数目 | 返回结果个数 | |
info | 返回状态说明 | 当 status 为 0 时,info 会返回具体错误原因,否则返回“OK”(info详情见官网) | |
geocodes | 地理编码信息列表 | 返回结果对象列表 | |
country | 国家 | 默认返回中国 | |
province | 省 | 例如:北京市。此处需要注意的是,中国的四大直辖市也算作省级单位。 | |
city | 市 | 例如:北京市 | |
citycode | 城市编码 | 例如:010 | |
district | 行政区 | 例如:朝阳区 | |
street | 街道 | 例如:阜通东大街 | |
number | 门牌 | 例如:6号 | |
adcode | 区域编码 | 例如:110101 | |
location | 坐标点 | 经度,纬度 | |
level | 匹配级别 |
-
示例
- 查询北京市朝阳区阜通东大街6号的地址信息
import requests
url = 'https://restapi.amap.com/v3/geocode/geo?address=北京市朝阳区阜通东大街6号&key=<your key>'
response = requests.get(url)
json_response = response.json()
- 使用特定浏览器查询
headers = {
'User-Agent': 'M