-1

我正在使用谷歌地理編碼和計算旅行時間的項目,它主要工作正常,但我看到一些莫名其妙的行爲與以下案件。谷歌地理編碼和distancematrix差異

使用谷歌地圖,我可以正確地看到2個位置之間的路線爲3.6英里,但是當我使用相同路線的谷歌距離矩陣時,api會返回151英里。

(從網址混淆的GoogleMaps api密鑰)

1)地理編碼的郵政編碼LN68SD

https://maps.googleapis.com/maps/api/geocode/json?address=LN68SD&key=MapsAPIKey&region=uk

地理編碼正確返回位置53.2017314,-0.5642401(林肯,UK)

2)地理編碼郵政編碼LN57FB

https://maps.googleapis.com/maps/api/geocode/json?address=LN57FB&key=MapsAPIKey&region=uk

地理編碼正確返回位置53.2265083,-0.5246126(林肯,英國)

3)顯示在兩個位置之間的路線:

https://www.google.co.uk/maps/dir/53.2017314,+-0.5642401/53.226509094238281,+-0.52461260557174683

正確映射返回3.6英里15分鐘

4)獲取兩個位置之間的距離矩陣:

https://maps.googleapis.com/maps/api/distancematrix/json?&origins=53.2017314,-0.5642401&destinations=53.2265090942383,-0.524612605571747,UK&key=MapsAPIKey&region=uk&mode=driving&units=imperial

distancematrix錯誤地指出位置相距150英里(林肯/倫敦)

// 20170523131103 
// https://maps.googleapis.com/maps/api/distancematrix/json?&origins=53.2017314,-0.5642401&destinations=53.2265090942383,-0.524612605571747,UK&key=MapsAPIKey&region=uk&mode=driving&units=imperial 

{ 
    "destination_addresses": [ 
    "99-101 Newington Causeway, London SE1 6BN, UK" 
    ], 
    "origin_addresses": [ 
    "1 Chancery Cl, Lincoln LN6, UK" 
    ], 
    "rows": [ 
    { 
     "elements": [ 
     { 
      "distance": { 
      "text": "151 mi", 
      "value": 243015 
      }, 
      "duration": { 
      "text": "2 hours 53 mins", 
      "value": 10354 
      }, 
      "status": "OK" 
     } 
     ] 
    } 
    ], 
    "status": "OK" 
} 

回答

2

你必須在該請求到距離矩陣(「英國」關於目的地)一個錯字。如果我確定我get the expected result(「3.6英里」)

https://maps.googleapis.com/maps/api/distancematrix/json?&origins=53.2017314,-0.5642401&destinations=53.2265090942383,-0.524612605571747&region=uk&mode=driving&units=imperial 

{ 
    "destination_addresses" : [ "Waterside S, Lincoln LN5 7FB, UK" ], 
    "origin_addresses" : [ "1 Chancery Cl, Lincoln LN6, UK" ], 
    "rows" : [ 
     { 
     "elements" : [ 
      { 
       "distance" : { 
        "text" : "3.6 mi", 
        "value" : 5864 
       }, 
       "duration" : { 
        "text" : "15 mins", 
        "value" : 889 
       }, 
       "status" : "OK" 
      } 
     ] 
     } 
    ], 
    "status" : "OK" 
}