![](/img/trans.png)
[英]Duration_in_traffic less than duration in google Distance Matrix API
[英]Google Maps Distance Matrix API gives impossibly short duration_in_traffic results and also the results are different than Google Maps
我正在向Google Maps Distance Matrix API發出請求,以獲取今天下午在伊斯坦布爾的貝西克塔斯(Besiktas)和博斯普魯斯海峽大橋(Bosphorus Bridge)兩點之間的duration_in_traffic數據,並將出發時間設為2018年3月6日17:00:00。告訴我需要5分鍾,這實際上是不可能的,應該至少20分鍾。 Google地圖中的結果也不同。
這是我使用的網址: https : //maps.googleapis.com/maps/api/distancematrix/json?&departure_time=1520301600000&traffic_model=pessimistic&origins=41.045524,29.007519&destinations=41.050044,29.029765&key=MYKEY
這是JSON響應:
{
"destination_addresses" : [
"Ortaköy Mh., İstanbul Çevre Yolu, 34347 Beşiktaş/İstanbul, Turkey"
],
"origin_addresses" : [
"Cihannüma Mahallesi, Barbaros Blv. No:76, 34353 Beşiktaş/İstanbul, Turkey"
],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "3.1 km",
"value" : 3052
},
"duration" : {
"text" : "4 mins",
"value" : 217
},
"duration_in_traffic" : {
"text" : "5 mins",
"value" : 295
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
我不知道是什么原因造成的,但是如果您能提供幫助,我們將不勝感激。
您的出發時間以毫秒為單位,而不是以秒為單位,這是Distance Matrix API需要的時間
https://developers.google.com/maps/documentation/distance-matrix/intro#departure-time
starting_time —所需的出發時間。 您可以將時間指定為自UTC 1970年1月1日午夜以來的秒數 。 或者,您可以指定一個值now,將出發時間設置為當前時間(更正為最接近的秒數)。
此外,將出發時間轉換為秒1520301600后,日期實際上是2018年3月6日0200 UTC,這是當地時間上午5點,而不是下午5點。 使用1520517600(對應於2018年3月8日當地時間),duration_in_traffic為18分鍾:
{
"destination_addresses" : [
"Ortaköy Mh., İstanbul Çevre Yolu, 34347 Beşiktaş/İstanbul, Turkey"
],
"origin_addresses" : [
"Cihannüma Mahallesi, Barbaros Blv. No:76, 34353 Beşiktaş/İstanbul, Turkey"
],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "3.1 km",
"value" : 3052
},
"duration" : {
"text" : "4 mins",
"value" : 217
},
"duration_in_traffic" : {
"text" : "18 mins",
"value" : 1081
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.