首页 > 解决方案 > 使用 Google Direction API for Mobile App 进行路线优化

问题描述

我的应用程序中有一个纬度和经度列表,使用谷歌方向 API 或使用任何其他谷歌 API 可以根据时间的最佳路线安排纬度和经度。

在谷歌搜索时,我确实找到了这个 API https://developers.google.com/maps/documentation/directions/start#sample-request

但是在这个 API 中,谷歌要求提供原产地和目的地而不是地理编码列表。有什么方法可以使用地理编码列表来实现这一点。

标签: androidgoogle-mapsgoogle-directory-api

解决方案


使用更具体的文档:https ://developers.google.com/maps/documentation/directions/intro#optional-parameters 。您需要waypoints带有地名的可选参数:

https://maps.googleapis.com/maps/api/directions/json?
origin=Boston,MA&destination=Concord,MA
&waypoints=Charlestown,MA|via:Lexington,MA
&key=YOUR_API_KEY

或纬度/经度:

https://maps.googleapis.com/maps/api/directions/json?
origin=sydney,au&destination=perth,au
&waypoints=via:-37.81223%2C144.96254%7Cvia:-34.92788%2C138.60008
&key=YOUR_API_KEY

编码折线

https://maps.googleapis.com/maps/api/directions/json?
origin=sydney,au&destination=perth,au
&waypoints=via:enc:lexeF{~wsZejrPjtye@:
&key=YOUR_API_KEY

和:

或者,您可以将 optimize:true 作为航点参数中的第一个参数传递,以允许方向服务通过以更有效的顺序重新排列航点来优化提供的路线。(这个优化是旅行商问题的一个应用。)

您还可以将Java 客户端用于 Google 地图服务作为路线 API 请求的包装器。


推荐阅读