谷歌地图方向api:python vs javascript
Posted
技术标签:
【中文标题】谷歌地图方向api:python vs javascript【英文标题】:google maps direction api: python vs javascript 【发布时间】:2022-01-21 20:35:40 【问题描述】:我正面临这个奇怪的问题。我一直在使用 javascript 使用谷歌地图 API,现在由于某种原因不得不使用 python 使用谷歌地图 API。
我面临的问题是我在 JS 和 python 中为相同的源和目标获得了不同的数据。具体来说,在使用 python 谷歌地图时,我没有在响应 JSON 中获得 path
变量。
import googlemaps
from datetime import datetime
gmaps = googlemaps.Client(key='API_KEY')
geocode_result = gmaps.geocode('1600 Amphitheatre Parkway, Mountain View, CA')
reverse_geocode_result = gmaps.reverse_geocode((40.714224, -73.961452))
now = datetime.now()
directions_result = gmaps.directions("Silk Board, Bengaluru", "Indira Nagar, Bengaluru", mode="transit", departure_time=now)
print(directions_result)
我使用python得到的数据:
我使用JS得到的数据:
如您所见,path
不见了。
我正在使用python-googlemaps' 方向API。 我还尝试使用请求模块并使用 https 链接使用谷歌方向 API,但接收到的数据仍然是相同的。 python应该以这种方式表现还是我做错了什么?任何帮助表示赞赏。
【问题讨论】:
你是如何使用JS调用API的? 我使用 googleapis.com 作为我的来源。类似于此link。 你能分享你的 Python 调用吗?请记住删除您的 API 密钥import googlemaps from datetime import datetime gmaps = googlemaps.Client(key='API_KEY') geocode_result = gmaps.geocode('1600 Amphitheatre Parkway, Mountain View, CA') reverse_geocode_result = gmaps.reverse_geocode((40.714224, -73.961452)) now = datetime.now() directions_result = gmaps.directions("Silk Board, Bengaluru", "Indira Nagar, Bengaluru", mode="transit", departure_time=now) print(directions_result)
我尝试将模式更改为“驾驶”,因为那是我在 JS 中使用的
你试过mode="driving"
吗?
【参考方案1】:
我联系了谷歌技术支持,看起来数据是这样设计的。如果您想像我想要的那样获取整个路线的坐标,您可以使用作为响应的“折线”字段。
折线将采用编码格式。您可以使用this 链接将数据解码为所需的坐标,或者您也可以使用折线库(python 中提供)。
【讨论】:
以上是关于谷歌地图方向api:python vs javascript的主要内容,如果未能解决你的问题,请参考以下文章