失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python调用百度地图画轨迹图_[python]百度地图API 正/逆地理编码 路线规划接口的调

python调用百度地图画轨迹图_[python]百度地图API 正/逆地理编码 路线规划接口的调

时间:2022-10-03 22:10:32

相关推荐

python调用百度地图画轨迹图_[python]百度地图API 正/逆地理编码 路线规划接口的调

[Python] 纯文本查看 复制代码'''

文件名:L17.py

作者:小饭团

创建时间:1月11日15:17:03

文件描述:调用Web服务API接口,百度地图路线规划 正/逆地理编码

'''

#-*- coding:utf-8 -*-

import urllib.parse

import urllib.request

import json

key='62PM27fx1Fbhq1pOWdpRlWt2o9B8tL9O'

#自定义类型

'''

属性名1:x 用于存储经度 类型 float

属性名2:y 用于存储纬度 类型 float

'''

class locationXY:

def __init__(self,x,y):

self.x=x

self.y=y

#正/逆地理编码

'''

函数名:getLocation

参数一:address 地名 类型 str 内部字符串类型

返回自定义类型数据 locationXY

'''

def getLocation(address):

data = urllib.parse.urlencode({'address': address, 'output': 'json','ak':key})

response = urllib.request.urlopen('http://api./geocoder/v2/?%s' % data)

html = response.read()

data = html.decode('utf-8')

result=json.loads(data)

lng=(result['result']['location']['lng'])

lat=(result['result']['location']['lat'])

l=locationXY(lng,lat)

return l

#百度地图路线规划服务

'''

函数名:计算所有路线

参数一:origin 起点位置 自定义类型locationXY

参数二:destionation 终点位置 自定义类型locationXY

无返回值

'''

def 计算所有路线(origin,destionation):

'''

tactics_incity 市内公交换乘策略

可选,默认为0

可选值:

0 推荐

1 少换乘

2 少步行

3 不坐地铁

4 时间短

5 地铁优先

'''

tactics_incity=0

data = urllib.parse.urlencode({'origin':'%s,%s'%(origin.y,origin.x),'destination':'%s,%s'%(destionation.y,destionation.x),'tactics_incity':tactics_incity,'ak':key})

response = urllib.request.urlopen('http://api./direction/v2/transit?%s' % data)

html = response.read()

data = html.decode('utf-8')

result = json.loads(data)

#print(data)

路线总数 = result['result']['total']

if (result['status']==0):

for x in range(路线总数):

if (result['status']==0):

distance=result['result']['routes'][x]['distance']

duration=result['result']['routes'][x]['duration']

print('路线:%s,距离%s米,花费%s分钟'%(x,distance,duration/60))

else:

print('error : %d'%result['status'])

'''

status 备注

0:成功

1:服务器内部错误

2:参数无效

1001:没有公交方案

1002:没有匹配的POI

'''

def main():

l1 = locationXY(113.464838,23.111949)#大沙东地铁站的坐标

l2 = getLocation('御富科贸园b2座205-20')

#print("%s\n%s"%(l1.x,l1.y))

计算所有路线(l1,l2)

#l2 =

if __name__ == '__main__':

main()

python调用百度地图画轨迹图_[python]百度地图API 正/逆地理编码 路线规划接口的调用 实现输出出行的距离和......

如果觉得《python调用百度地图画轨迹图_[python]百度地图API 正/逆地理编码 路线规划接口的调》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。