2011-05-23 59 views
1

我需要計算我的android應用程序中兩個位置之間的距離。然後我需要在地圖上顯示出來。如何計算兩個位置之間的距離,然後顯示方式?

看起來我需要使用一些Google API來計算距離。應該是Google Directions API?我應該使用Google Maps External Library的Android文檔says,但我沒有看到任何相同的方法。 大概,如果我只想計算兩點之間的距離而不是步行距離更好使用一些簡化的方法。

然後顯示地圖 - 使用MapView與在用戶瀏覽器中打開根據url相比有什麼優勢? 想避免以下操作:

當你準備好釋放你的 應用程序,您必須使用谷歌地圖 服務註冊 發佈證書,並獲得新的地圖API 關鍵。然後,您必須將您的應用程序中的MapView 元素更改爲 引用新的API密鑰。

+1

你找點之間的行車路線,或只是一條直線? – wajiw 2011-05-23 20:44:41

+0

沒有必要避免獲取API密鑰。他們免費且容易獲得。 – Trott 2011-05-23 20:50:11

+0

@wajiw,直線。我已經找到了'location'模塊來計算它。所以,我現在唯一的問題是關於MapView vs. Browser。 @Trott,我不喜歡我應該使用一個密鑰進行開發的過程以及另一個發佈密鑰 - 因此,我需要更改每個發行版的代碼。 – 2011-05-24 05:48:17

回答

1

兩個點之間的距離可以利用這裏所描述的公式求出: http://williams.best.vwh.net/avform.htm#Dist 記住,用弧度,不度!

看來你有關於在每個版本中更新地圖密鑰的擔憂嗎?我在市場上有一個基於地圖的應用程序,您可以獲得1個產品密鑰和1個調試密鑰(我相信這是每個​​開發人員,但如果不是,則是每個應用程序)。它與你用來簽署APK的密鑰有關。我所說的是,如果你得到你的prod API key,並且只開發這個應用程序,那麼你可以發佈許多更新,而不必再次觸摸該鍵(假設你不在本地進行調試密鑰測試) 。如果你關心它,你可以將它們都保存在你的AndroidManifext.xml文件中,並根據你是在部署到設備還是模擬器來評論不相關的文件。

9

你也可以只做到這一點:

//your two locations 
Location locationA; 
Location locationB; 

//distance between them 
float distanceBetweenPoints = locationA.distanceTo(locationB); 

有點晚,但希望這有助於:)

相關問題