Получить расстояние от API Google Maps Maps Directions - PullRequest
1 голос
/ 22 сентября 2019

Я пытаюсь определить расстояние между автобусными остановками, чтобы получить приблизительную оценку времени прибытия автобуса.Я знаю, что есть приложения и сервисы, которые делают это, но я хочу сделать это сам.

Я получил объект результата, но не знаю, как определить расстояние. Отладка показывает directions_result - это список длиной 0 (ноль)

(код взят из документации API-интерфейса API для карт GC Python * *1009*.)

import googlemaps
from datetime import datetime
# GC Maps Directions API
coords_0 = '43.70721,-79.3955999'
coords_1 = '43.7077599,-79.39294'
gmaps = googlemaps.Client(key=api_key)
# Request directions via public transit
now = datetime.now()
directions_result = gmaps.directions(coords_0, coords_1, mode="driving", departure_time=now, avoid='tolls')
distance = directions_result.<what_im_trying_to_figure_out>

Заранее спасибо.

1 Ответ

0 голосов
/ 26 сентября 2019

Я запустил ваш код, и directions_result имеет длину 1 для меня.Чтобы узнать общее расстояние, попробуйте код ниже:

# Import libraries
import googlemaps
from datetime import datetime
# Set coords
coords_0 = '43.70721,-79.3955999'
coords_1 = '43.7077599,-79.39294'
# Init client
gmaps = googlemaps.Client(key="KEY")
# Request directions
now = datetime.now()
directions_result = gmaps.directions(coords_0, coords_1, mode="driving", departure_time=now, avoid='tolls')

# Get distance
distance = 0
legs = directions_result[0].get("legs")
for leg in legs:
    distance = distance + leg.get("distance").get("value")
print(distance) # 222 i.e. 0.2 km

Надеюсь, это вам поможет!

...