【应用】Python利用高德地图经纬度数据绘制定位
一. 背景
利用高德地图申请的api进行目标地址的经纬度爬取并绘制定位。
二. 获取API
1. 注册高德开放平台个人开发者
进入高德开放平台:https://developer.amap.com/ 注册账户成为个人开发者
2. 获取key
进入右上角“控制台”
应用管理 > 我的应用 > 创建新应用(任意命名) > 添加 > 复制key
三. 具体步骤
1. 库的导入
import requests
import pprint
import json
# from requests.exceptions import ReadTimeout, ConnectTimeout
from pyecharts.charts import Geo
from pyecharts import options
from pyecharts.globals import GeoType
2. 根据地址获取经纬度
addr = input('请输入地点:')
key="************" # 输入你申请的key
url = f'https://restapi.amap.com/v3/geocode/geo?key={key}&address={addr}'
r = requests.get(url)
if r.status_code == 200:
answer = r.json()
# print(answer)
json_data = json.loads(r.text)
# pprint.pprint(json_data)
loc = json_data["geocodes"][0]["location"]
longitude = loc.split(',')[0]
latitude = loc.split(',')[1]
else:
pass
print("经度:",longitude)
print("纬度:",latitude)
结果:
3. 绘制定位
g = Geo().add_schema(maptype="福州")
g.add_coordinate(addr, longitude, latitude)
data_pair = [(addr,1)]
g.add('',data_pair, type_=GeoType.EFFECT_SCATTER, symbol_size=20)
g.set_series_opts(label_opts=options.LabelOpts(is_show=False))
g.set_global_opts(title_opts=options.TitleOpts(title="地图标点测试"))
g.render_notebook()
结果: