假設我有3個地點的列表--A,B和C,我試圖找到每個地點之間最短的駕駛距離:我如何顯示在iOS中使用谷歌地圖的多個目的地的單一路線
A到B A到C B到A B到C C到A C到B
我需要這100個不同的位置,我想找到以獲得最佳方式此信息。如果這個問題已經被分解,然後我需要一種方法來找到 A到 A B到C
和分別爲B到A,B到C,並分別從C到A,C至B.
假設我有3個地點的列表--A,B和C,我試圖找到每個地點之間最短的駕駛距離:我如何顯示在iOS中使用谷歌地圖的多個目的地的單一路線
A到B A到C B到A B到C C到A C到B
我需要這100個不同的位置,我想找到以獲得最佳方式此信息。如果這個問題已經被分解,然後我需要一種方法來找到 A到 A B到C
和分別爲B到A,B到C,並分別從C到A,C至B.
我相信你要找的東西就是距離矩陣API。請在這裏看到的文檔:
https://developers.google.com/maps/documentation/distance-matrix/start
注意,這絕對不是正是你所尋找的東西,但它是谷歌提供的最近的事情。見例如要求:
這會給你所有來源向所有目的地的距離。爲了與您的使用案例一起工作,您需要讓源和目的地與上例中的相同。在我的示例中,API返回以下內容:
{
"destination_addresses" : [ "Washington, DC, USA", "Houston, TX, USA", "New York, NY, USA" ],
"origin_addresses" : [ "Washington, DC, USA", "Houston, TX, USA", "New York, NY, USA" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "1 ft",
"value" : 0
},
"duration" : {
"text" : "1 min",
"value" : 0
},
"status" : "OK"
},
{
"distance" : {
"text" : "1,408 mi",
"value" : 2266226
},
"duration" : {
"text" : "20 hours 22 mins",
"value" : 73331
},
"status" : "OK"
},
{
"distance" : {
"text" : "225 mi",
"value" : 361722
},
"duration" : {
"text" : "3 hours 48 mins",
"value" : 13672
},
"status" : "OK"
}
]
},
{
"elements" : [
{
"distance" : {
"text" : "1,409 mi",
"value" : 2266981
},
"duration" : {
"text" : "20 hours 28 mins",
"value" : 73678
},
"status" : "OK"
},
{
"distance" : {
"text" : "1 ft",
"value" : 0
},
"duration" : {
"text" : "1 min",
"value" : 0
},
"status" : "OK"
},
{
"distance" : {
"text" : "1,628 mi",
"value" : 2620605
},
"duration" : {
"text" : "23 hours 44 mins",
"value" : 85438
},
"status" : "OK"
}
]
},
{
"elements" : [
{
"distance" : {
"text" : "226 mi",
"value" : 364085
},
"duration" : {
"text" : "3 hours 53 mins",
"value" : 13965
},
"status" : "OK"
},
{
"distance" : {
"text" : "1,627 mi",
"value" : 2618345
},
"duration" : {
"text" : "23 hours 43 mins",
"value" : 85385
},
"status" : "OK"
},
{
"distance" : {
"text" : "1 ft",
"value" : 0
},
"duration" : {
"text" : "1 min",
"value" : 0
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
您可以看到從所有位置到所有三個位置的距離已成功返回。請記住這個API的使用限制,以及:
https://developers.google.com/maps/documentation/distance-matrix/usage-limits
有了一個標準的項目,你可以有一個最大的每個請求的100個元素。請注意,要獲取元素,您需要將原點數乘以目標數。使用標準項目,您可以有10個目的地和10個來源。這就是說,你將無法在單個請求中爲100個位置執行此操作。除非您有一個高級項目,否則您需要分批次執行10個地點。對於高級項目,您可以遵循相同的邏輯,但同時使用25個位置。
我只是想讓你知道最接近的解決方案,我可以想到你在找什麼。我希望這有幫助!
不知道地圖API是否爲此提供服務,但它是一個非常着名的信息技術問題。它被稱爲旅行推銷員問題。 NP中的一個難題。閱讀更多。至少如果我明白你想找到最短的路線。 – Blackbam
你需要澄清你的問題,並顯示你已經嘗試過。例如。你想解決什麼問題?我猜想最短路徑(如果查找Dijkstra),@Blackbam已經去了TSP。或者,這可能更多是一個Google API問題。 – CRD