使用Google距离矩阵API与Python

时间:2016-06-08 13:12:49

标签: python google-maps-api-2

这是我的代码:

from googlemaps import Client as GoogleMaps
mapServices = GoogleMaps('')
start = 'texarkana'
end   = 'atlanta'
direction = mapServices.directions(start, end)
for step in direction['Direction']['Routes'][0]['Steps']:
    print(step['descriptionHtml'])

我收到以下错误:

File "C:\Python27\directions.py", line 7, in <module>
for step in direction['Direction']['Routes'][0]['Steps']:
TypeError: list indices must be integers, not str

1 个答案:

答案 0 :(得分:-1)

我无法帮助您直接查明错误,因为我没有自己试用的API密钥。但是,我可以给你一些你可以尝试并考虑找到问题根源的东西。

似乎你的for循环(for step in direction['Direction']['Routes'][0]['Steps']:)中的一个索引应该是一个整数。

您可以尝试找出使用内置type()功能的内容。所以要调试,我会尝试:type(direction),然后是type(direction['Direction']),依此类推direction['Direction']['Routes'],因为它已经是一个列表了。

我建议您使用交互式python解释器。您要查找的是当您输入代码时(例如type(direction)),您获得type<'list'>

在找出哪个是罪魁祸首后,也许你可以索引它并找到你想要的那个或阅读Google Docs