【问题标题】:Google Maps API to calculate exact distance between origin and destinationGoogle Maps API 计算起点和终点之间的准确距离
【发布时间】:2016-09-23 12:01:48
【问题描述】:

我想尽可能准确地计算距离,但目前我只是将起点和终点相加,然后让 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@:

【问题讨论】:

    标签: android google-maps google-directions-api google-distancematrix-api


    【解决方案1】:

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

    因此,与 Directions API 不同,您可以使用航路点设置您想要计算的方式,距离矩阵 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 中的文本相同)。

    【讨论】:

    • 和我当时想的一样,但不确定。感谢您提供非常好的解释,
    猜你喜欢
    • 1970-01-01
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 2017-11-03
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    相关资源
    最近更新 更多