首页 文章

Google Maps API可计算出发地和目的地之间的确切距离

提问于
浏览
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 @:

1 回答

  • 0

    Google Maps Distance Matrix API根据Google Maps API计算的起点和终点之间的推荐路线返回信息 . 因此,此处的结果仅基于Google计算的距离 . 此外,此服务不会返回详细的路线信息 . 可以通过将所需的单一来源和目的地传递到Google Maps Directions API来获取路线信息 .

    因此,与Directions API不同,您可以使用航点设置您想要计算的方式,距离矩阵API只计算最佳方式的距离或您设置原点和目的地的正确方式 .

    关于两个JSON请求的问题 .

    第一个请求返回没有路标的响应,所以基本上它就像Distance Matrix API一样,根据Google Maps API计算的起点和终点之间的推荐路线返回其信息

    第二个请求是使用航点,因此您观察到结果具有更多km或更长的结果,因为您指定了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为单位的文本相同) .

相关问题