Python,Google Distance Matrix API:地址输出不正确

时间:2018-03-18 03:42:18

标签: python google-api google-api-python-client google-distancematrix-api

我试图找到CSV文件中多个地址之间的距离。但是,在尝试单独解决问题时,无论何时输入lat / long或物理地址,输出都会返回相同的错误地址。

import sys
sys.path.append('C:\Python36\Lib\site-packages')
import google maps
gmaps = googlemaps.Client(key='-')
origins = ['26.650032', '-81.842073']
destinations = ['26.617167', '-81.860763']
JTC = gmaps.distance_matrix('origins'+", Florida", 'destinations'+", Florida", units="imperial")
print(JTC)


{'destination_addresses': ['633 N Orange Ave, Orlando, FL 32801, USA'], 'origin_addresses': ['933 45th St, West Palm Beach, FL 33407, USA'], 'rows': [{'elements': [{'distance': {'text': '167 mi', 'value': 269040}, 'duration': {'text': '2 hours 27 mins', 'value': 8822}, 'status': 'OK'}]}], 'status': 'OK'}

.....

origins = ['3438 Lantana St, 33916, USA']
destinations = ['2560 Kennesaw St, 33901, USA']
JTC = gmaps.distance_matrix('origins'+", Florida", 'destinations'+", Florida", units="imperial")
print(JTC)


{'destination_addresses': ['633 N Orange Ave, Orlando, FL 32801, USA'], 'origin_addresses': ['933 45th St, West Palm Beach, FL 33407, USA'], 'rows': [{'elements': [{'distance': {'text': '167 mi', 'value': 269040}, 'duration': {'text': '2 hours 27 mins', 'value': 8822}, 'status': 'OK'}]}], 'status': 'OK'}

.....

我的代码出错了吗?

1 个答案:

答案 0 :(得分:0)

请尝试以下坐标:

JTC = gmaps.distance_matrix('%f, %f, Florida' % origins, 
                            '$f, %f, Florida' % destinations, 
                            units="imperial")

如果有地址,则需要以不同方式格式化字符串:

JTC = gmaps.distance_matrix(origins[0], destinations[0],
                            units="imperial")

我认为谷歌地图很聪明,可以发现这些地址都在佛罗里达州。

您已将地址存储在列表中;如果它只是一个字符串,你可以这样连接:origins + ', Florida'

如果有帮助,请告诉我。