2010-04-20 100 views
2

我有大約80個註釋的地圖。我想做3件事。計算路線長度

1)從我目前的位置,我想知道到那個位置的實際路線距離。不是直線距離。我希望能夠顯示所有註釋的列表,但對於每個註釋(有lon/lat),我想知道從我的位置到該位置的實際路線距離。

3)我想知道最接近我的位置使用路由距離的註釋。不是線性距離。

我認爲所有這三點的答案都是一樣的。但請記住,我不想創建路線,我只想知道與註釋的距離。

我希望有人能幫助我。

最好的問候, 保羅Peelen

回答

1

我認爲正如前面指出的那樣,如果您正確執行您所說的話,那麼您的查詢對於Google地圖API來說將非常沉重。你一次需要所有的信息嗎?也許首先根據某種啓發式或用戶需求來查詢一些距離就足夠了。

要獲得的距離,你可以使用谷歌地圖GDirections對象......如指出here(在頁面的底部有「路線和步驟」欄目,與advanced example

The GDirections object also supports multi-point directions, which can be constructed using the GDirections.loadFromWaypoints() method. This method takes an array of textual input addresses or textual lat/lon points. Each separate waypoint is computed as a separate route and returned in a separate GRoute object, each of which contains a series of GStep objects.

在iPhone中使用Google Maps API應該不會太困難,我認爲您的問題沒有涵蓋這一點,但如果您需要一些基本示例,則可以查看this問題,然後滾動到答案。

祝你好運!

+0

感謝您的信息,我會將我的應用程序改編成iPad,並根據用戶的要求實施直接路線。您的鏈接非常有用!謝謝! – 2010-05-08 19:47:11

+0

沒問題保羅,很高興我幫你。 – Goles 2010-05-09 04:55:00

0

計算路線距離約80個分支機構,是一定要計算密集的對谷歌的一部分,我無法想象,你將能夠使這些請求發送給谷歌地圖API ,是否有可能在移動設備上這樣做,而不受服務器上電話連接或速率限制的嚴格限制。

不幸的是,計算路徑距離而不是幾何距離是一項非常昂貴的計算,涉及大量有關該區域的數據 - 您幾乎可以確定沒有數據。這意味着,不幸的是,這不是Core Location或MapKit可以幫助您的。

你準備解決什麼問題?除了可用於近似某種距離排名的路線距離之外,可能還有其他啓發式方法。

2

從我所瞭解的您的帖子中,我相信您會尋求Haversine formula。幸運的是,有一些Objective-C implementations,儘管一旦公式出現在你面前,編寫自己的代碼就變得微不足道了。

我最初刪除了這個,因爲我沒有注意到你最初不想要線性距離,但是如果你決定在用戶​​的特定點上近似值足夠好的話,相互作用。