簡體   English   中英

谷歌 api 流量持續時間

[英]Duration in traffic google api

我正在嘗試使用谷歌的方向服務 api 查找從出發地到目的地的旅行持續時間。 我需要根據交通狀況找出旅行時長。 我嘗試使用 javascript,它返回流量值的持續時間。 但是當我在 java 中嘗試同樣的問題時,它似乎沒有返回流量值的持續時間。 那么如何使用谷歌的方向服務api獲取流量持續時間呢?

URL url = new URL ("http://maps.googleapis.com/maps/api/directions/json?origin=" + URLEncoder.encode(origin, "UTF-8") +"&destination="+ URLEncoder.encode(destination, "UTF-8") +"&waypoints=optimize:true|Bagbazar,Kathmandu|Thapathali,Kathmandu|Kamal+Pokhari,Kathmandu"+"&sensor=false");

上面我粘貼了我用來發送到谷歌服務器的網址。 下面是java腳本代碼,在下面的代碼中我可以設置durationInTraffic:true,它返回在交通條件下行駛所需的時間。 java中的等價過程是什么?

 var request = {

      origin:"Wollongong, Australia",
      destination:"Sydney,Australia",
      travelMode: google.maps.DirectionsTravelMode.DRIVING,
      provideRouteAlternatives: true,
      durationInTraffic: true
    };

查看地圖文檔頁面上Legs部分下的 duration_in_traffic 定義:

  1. 路線請求包括一個離開時間參數,該參數設置為當前時間的幾分鍾內的值。
  2. 該請求包含有效的 Maps for Business 客戶端和簽名參數。
  3. 所請求路線的交通狀況是可用的。
  4. 路線請求不包括中途停留航點。

也許不是他們列出的所有 4 個條件都得到滿足?

該頁面上還有一個JSON示例,其中包含一個示例 url,如果有幫助,您可以使用它。

在 Google API URL 添加 &departure_time=now 它返回 duration_in_traffic time .now 表示 currentTime 或者你可以用毫秒時間代替現在。

如果您添加航點,則不會返回 duration_in_traffic

因為 google Api 提到了方向請求不包括中途停留的航點。

但是如果您使用 via:lat,long 添加航點,那么它將返回交通持續時間,因為 google API 不會將航點視為中途停留

我正在嘗試使用Google的路線服務API查找從起點到目的地的旅行持續時間。 我需要根據交通情況找出旅行時間。 我嘗試使用javascript,它返回了點擊量值的持續時間。 但是,當我在Java中嘗試相同的問題時,它似乎沒有返回持續時間的流量值。 那么如何使用Google的方向服務api獲取交通持續時間呢?

URL url = new URL ("http://maps.googleapis.com/maps/api/directions/json?origin=" + URLEncoder.encode(origin, "UTF-8") +"&destination="+ URLEncoder.encode(destination, "UTF-8") +"&waypoints=optimize:true|Bagbazar,Kathmandu|Thapathali,Kathmandu|Kamal+Pokhari,Kathmandu"+"&sensor=false");

上面我粘貼了我曾經發送到google服務器的網址。 下面是Java腳本代碼,在以下代碼中,我可以設置durationInTraffic:true,它返回在交通狀況下行駛所需的時間。 java中的等效過程是什么?

 var request = {

      origin:"Wollongong, Australia",
      destination:"Sydney,Australia",
      travelMode: google.maps.DirectionsTravelMode.DRIVING,
      provideRouteAlternatives: true,
      durationInTraffic: true
    };

如果您設置離開時間,您可以獲得每條腿的持續時間_in_traffic,但是如果您想要每個步驟的持續時間_in_traffic,您應該使用 distance_matrix API,並將這兩個合並。 在距離谷歌 API 中,您需要設置 denied_time 。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM