有沒有像我們使用Google Distance Matrix一樣的方式使用Bing Maps駕駛REST服務的方法?使用Microsoft Bing Maps的Google Distance Matrix
我希望能夠計算距離:
p1 -> p2
p1 -> p3
p1 -> p4
...
p1 -> p15
與谷歌的距離矩陣我能夠得到的15條航線的距離有一個請求,但使用Bing我沒有找到一個方法要做到這一點(每個距離計算只有15個請求)。
有沒有像我們使用Google Distance Matrix一樣的方式使用Bing Maps駕駛REST服務的方法?使用Microsoft Bing Maps的Google Distance Matrix
我希望能夠計算距離:
p1 -> p2
p1 -> p3
p1 -> p4
...
p1 -> p15
與谷歌的距離矩陣我能夠得到的15條航線的距離有一個請求,但使用Bing我沒有找到一個方法要做到這一點(每個距離計算只有15個請求)。
Bing地圖不公開距離矩陣API,但可以使用Bing地圖路由服務生成所需的數據。您可以爲每個距離提出請求,但這會很慢並且會產生大量交易。 Bing Maps路由服務允許您將最多25個航點傳遞到單個請求中。因此,您可以使用它來進行批量計算。例如,假設我們有3個位置。矩陣將是3×3 = 9個單元,其中3個將具有0的值(即A→A)。這留下了6個需要計算的單元。爲了進一步優化,可以假設兩個位置之間的距離是相同的,而不管行進的方向如何(即A→B = B→A)。如果我們做這個假設,我們只需要計算3個單元的值; A-> B,A-> C,B-> C。爲了進一步優化路線計算,我們可以調整航點,使我們儘量減少額外計算的次數; A - > B,B - > C,C - > A.通過這樣做,我們可以計算從A→B→C→A的路線。這將是一條只有4個路標的路線。然後路線響應將包含一系列路線腿,每個腿都有一個定義的距離和時間值,您可以使用這些值來生成矩陣。
在你的情況下,你只計算從一個位置到另外15個位置。這是一個2×15的矩陣,有點類似於上述方法來完成。在這種情況下,您可以從起點和每個路點來回計算多路點路線。可以說,開始是S,其他點是A,B,C,我們可以計算出一條從S→A→S→B→S→C的路線。這條路線的響應可以有一個數組路線腿。數組中奇數索引的路線腿將與S - >(A,B,C)的距離/時間。使用這種方法,您可以計算出您需要從S到其他11個位置的數據。如果您有15個地點,則需要提出兩個路線請求。請注意,如果您在顯示交互式地圖時執行此操作,則可以從地圖生成會話密鑰並將其用於請求中,使路由呼叫不可計費。
我假設你想這樣做,這樣你就可以使用旅行推銷員算法來計算優化的路線。如果是這種情況,你可能會發現這個代碼示例有趣:https://code.msdn.microsoft.com/windowsapps/Bing-Maps-trip-optimizer-c4e037f7
嗨,謝謝你的好主意!我必須找到一個例子,因爲我仍然使用Windows 7,並且您的示例僅在Windows 8.1中工作:(任何有關超過125000個可計費事務的成本的想法? – Patrick
成本根據您生成的事務數量以及是否有卷您可以通過[email protected]與授權團隊聯繫以獲取報價 – rbrundritt
好的,非常感謝您的幫助。我認爲Bing Maps的解決方案與Google ou HERE Maps :( – Patrick