0

我想尽可能地计算准确的距离,但目前我只是添加起点和目的地并让Google Direction API计算它,但这并不意味着它将是正确的路线,所以我想知道是否可以使用编码用距离矩阵或其他东西计算距离的折线?

Call<Direction> call = RESTClient.getGoogleApiService().getDirectionsWithLatLng(startLatLng, endLatLng);

...

@GET("/maps/api/directions/json")
Call<Direction> getDirectionsWithLatLng(
        @Query(value = "origin") String position,
        @Query(value = "destination") String destination);

有什么不同:

https://maps.googleapis.com/maps/api/directions/json?origin=sydney,au&destination=perth,au

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

4

1 回答 1

0

Google Maps Distance Matrix API根据起点和终点之间的推荐路线返回信息,由 Google Maps API 计算得出。所以这里的结果只是基于谷歌计算的距离。此外,此服务不返回详细的路线信息。可以通过将所需的单一起点和目的地传递给 Google Maps Directions API 来获取路线信息。

因此,与Directions API不同,您可以使用航点设置您想要计算的方式,Distance Matrix API 仅计算您设置起点和目的地的最佳方式或正确方式的距离。

对于您关于两个 JSON 请求的问题。

第一个请求返回没有路点的响应,所以基本上它就像距离矩阵 API 一样,根据谷歌地图 API 计算的起点和终点之间的推荐路线返回其信息

第二个请求与航点有关,因此当您观察到结果有更多公里或更长的结果时,因为您指定了 API 需要计算的航点。

有关更多信息,我尝试同时使用 Directions API 和 Distance Matrix API。

https://maps.googleapis.com/maps/api/directions/json?origin=sydney,au&destination=perth,au

-

https://maps.googleapis.com/maps/api/distancematrix/json?origins=sydney+au&destinations=perth+au

如您所见,如果您没有在 Directions API 中使用航路点。Directions API 结果与 Distance Matrix API 相同(数值略有不同,但 km 中的文本相同)。

于 2016-05-26T14:08:00.920 回答