在Python中使用谷歌距离矩阵 API 计算两地之间的距离和持续时间
Google Map Distance Matrix API 是一项提供旅行距离和到达目的地所需时间的服务。此 API 返回起点和终点之间的推荐路线(未详细说明),其中包含每对的持续时间和距离值。
要使用此 API,必须需要API 密钥,可在此处获取。
需要的模块:
import requests
import json
下面是实现:
# importing required libraries
import requests, json
# enter your api key here
api_key ='Your_api_key'
# Take source as input
source = input()
# Take destination as input
dest = input()
# url variable store url
url ='https://maps.googleapis.com/maps/api/distancematrix/json?'
# Get method of requests module
# return response object
r = requests.get(url + 'origins = ' + source +
'&destinations = ' + dest +
'&key = ' + api_key)
# json method of response object
# return json format result
x = r.json()
# by default driving mode considered
# print the value of x
print(x)
输出 :
dehradun
haridwar
{'destination_addresses': ['Haridwar, Uttarakhand, India'],
'origin_addresses': ['Dehradun, Uttarakhand, India'], 'rows':
[{'elements': [{'distance': {'text': '56.3 km', 'value': 56288},
'duration': {'text': '1 hour 40 mins', 'value': 5993},
'status': 'OK'}]}], 'status': 'OK'}
使用googlemaps
模块:
也可以使用googlemaps模块计算两地之间的距离。
安装googlemaps模块的命令:
pip install googlemaps
# importing googlemaps module
import googlemaps
# Requires API key
gmaps = googlemaps.Client(key='Your_API_key')
# Requires cities name
my_dist = gmaps.distance_matrix('Delhi','Mumbai')['rows'][0]['elements'][0]
# Printing the result
print(my_dist)
输出 :
{'distance': {'text': '1,415 km', 'value': 1415380}, 'duration': {'text': '23 hours 42 mins', 'value': 85306}, 'status': 'OK'}
感谢aishwarya.27贡献了这个方法。