📜  在Python中使用谷歌距离矩阵 API 计算两地之间的距离和持续时间

📅  最后修改于: 2022-05-13 01:54:50.153000             🧑  作者: Mango

在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贡献了这个方法。