Python调用百度地图API实现路径规划提取真实距离、时间

1.注册百度地图开放平台账号

网址:百度地图开放平台 | 百度地图API SDK | 地图开发

2.打开控制台,创建应用、获取AK

如下图所示

 桥重点、敲重点、瞧重点

在使用python调用API端口时,我们需要申请的为服务端应用类别,别申请错了,否则可能会报错,如APP服务被禁用

 3.Python程序

我们使用程序获取数据,本质时数据爬虫,这里由于数据比较简单,我们快速直接到代码环节了。

def get_info(start,end,ak):
    url = 'https://api.map.baidu.com/directionlite/v1/walking?origin=' + start + '&destination=' + end + '&ak=' + ak + '&coord_type=wgs84'
    response = requests.get(url)
    answer = response.json()
    if answer["status"] == 0:
        get_distance = answer['result']['routes'][0]['distance']
        get_time = answer['result']['routes'][0]['duration']
    else:
        get_distance =0
        get_time=0
    return get_distance,get_time

这里强调一下,start、end的数据格式。

        start:'29.6634,106.599993'

        end:'29.56521,106.581208'

这里能获取到了话,我相信后面的就都非常简单了,比如存储,保存。

# 保存数据
res_dis = []
res_time = []
length = len(data)
print("合计有{}行".format(length))
for i in range(length):
    cur_data_coor = data['combin_coor'][i]
    print(cur_data_coor)
    print("//")
    print("现在在处理有{}行".format(i))
    temp_dis = []
    temp_time = []
    for j in range(length):
        node_data_coor = data['combin_coor'][j]
        print(node_data_coor)
        if i==j:
            get_distance =0
            get_time = 0
        else:
            get_distance, get_time = get_info(cur_data_coor,node_data_coor,ak)
        print("起点",'\t',"终点",'\t',"距离")
        print(cur_data_coor,'\t',node_data_coor,'\t',get_distance)
        # 以千米为单位
        temp_dis.append(get_distance/1000)
        temp_time.append(get_time)
    res_dis.append(temp_dis)
    res_time.append(temp_time)
print(res_dis)
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

且行且安~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值