Python调用百度地图API,通过经纬度信息计算两地距离
前期工作:
首先注册百度账号,然后在打开百度开放平台,点击控制台,进入控制台页面,然后激活个人开发者账号,这样就可以使用该平台。
在控制台页面,点击应用管理——>我的应用——>创建应用,创建一个应用。
输入应用名称,选中地点检索选项,在IP白名单中输入0.0.0.0/0,点击提交即可创建应用.
提交完成后在我的应用中即可看到所创建的应用,记住应用的AK值,使用该值调用百度的API.
应用创建完成,就可以使用了,先来测试以下.
在地点检索服务文档中,可以看到该接口的使用方式,假设输入链接
http://api.map.baidu.com/place/v2/search?query=咖啡馆®ion=北京&output=json&ak=您的ak,(记得将ak的值改成自己应用中AK值).
即可看到北京市所检索的咖啡馆地址信息,包括该地址的经纬度.
然后就可以拿经纬度信息计算两地的距离了.
编码实现:
首先根据地址获取该地址的经纬度,通过url获取即可(记得将key值改为自己的AK值).
from math import radians, cos, sin, asin, sqrt
import requests
import sys
# 自己的AK值=你在百度开发者开放平台申请的AK
# 依据地址获取经纬度
def Address_to_JWD(content):
"""
:param content: 地址信息
:return: 经纬度数据 (例:[经度,维度])
"""
try:
url = "http://api.map.baidu.com/geocoder?address=" + str(content) + "&output=json&key= 自己的AK值"
response = requests.get(url)
answer = response.json()
# print(answer)
addr =