2011-03-21 38 views
4

我有兩個文本框,其中用戶輸入他的來源和目的地,當用戶按下提交按鈕時,一個標記在源處繪製,另一個在目的地繪製,所以任何人都可以告訴我如何找到中間位置?使用google map api version3。如何找到兩個地方之間的位置?

+1

您是否想在給定點之間的路線(道路方向)上找到中間位置;或者如果你只是連接這兩點,折線的中間位置? – GoG 2011-03-21 21:29:51

+0

謝謝@GoG。我假設方向,但OP可能意味着中點。在任何情況下,我們在這裏都有答案;) – RedBlueThing 2011-03-21 22:52:04

+0

我希望獲得折線的完全座標來編碼折線 – 2011-05-25 17:20:43

回答

0

您可以在兩點之間做一個directions請求。這將在地圖上爲兩點之間的駕駛方向渲染多段線。

+0

要在.NET中獲得方向,您可以使用此開源項目 - code.google.com/p/google- maps/ – Maxim 2011-05-21 21:55:39

0

只要做一點數學。你基本上要找到一個線兩midpoint點,下面這個公式:

x1 + x2 
------- 
    2 

你會想這樣做兩次,一次爲緯度和一次經度。然後你可以在地圖上放置一個標記。

+0

但不要忘記確保| x1-x2-n * 2 * pi | <= pi。 (想象一下x1 = 1deg,x2 = 359deg,你不想180deg爲中點,而是0度) – Philipp 2011-03-21 20:17:40

+0

@ Philipp是的,那是真的。我的意思是放入一個免責聲明,如果你環繞地圖,這可能需要更多的工作。 – Jess 2011-03-21 20:19:52

+0

即使你沒有環繞地圖,請注意,這將得到這兩個位置之間的中點,如投影到平面地圖上,並且對於長距離將是不準確的。例如,洛杉磯至倫敦應該在格陵蘭北部上空,但簡單的中點最終會離開緬因州的海岸。請參閱http://www.gcmap.com/mapui?P=LHR-LAX瞭解大圓圈路線的外觀。 – 2011-03-21 21:31:44

相關問題