2013-04-26 189 views
0

我一直在將我的Android Java應用程序從Googlemaps V1升級到V2,這很痛苦。我需要在程序上完成所有顯示(即沒有XML佈局文件),因爲它是我開發的跨平臺引擎。Android Google地圖V2 API密鑰查詢?

在V1,我可以通過

String apikey = MySettings.getMapsKey(); 
MapView mapView = new MapView(activity, apikey); 

這是創造優良的MapView時設置的API密鑰,因爲我可以建立許多應用程序都具有不同的證書進行簽名,只是給它不同的數據文件工作。

看起來你必須通過

 <meta-data android:name="com.google.android.maps.v2.API_KEY" 
      android:value="AIzaSyD_LwdRJXXXxn9VdOgKWbPaVxH-YqX67-8" /> 

設置在清單文件中的API密鑰現在這樣的兩個問題是

  • 是我的假設正確的,MapView的是僅適用於谷歌地圖V1這樣我必須拋棄它並開始使用MapFragment來支持Google地圖V2?
  • 如果我們現在必須使用MapFragment,是否有任何方法來程序設置此密鑰而不是嵌入代碼/清單中?
+2

第一個問題的答案是你沒有選擇,而不是使用MapFragment..painful但是真的..! – TheFlash 2013-04-26 10:13:07

+0

地圖Android API v2還提供了一個MapView對象(當然,它與API v1中的MapView不同)。 – Nevermore 2013-04-26 22:24:42

回答

2

1)是的,有沒有其他選擇比使用MapFragment(使用SupprotMapFragment爲API [V4-V10])

2)有沒有其他方式(至少有文件記載),而不是從Manifest設置API密鑰。在代碼中獲得元數據是可能的,並且使用反射設置爲MapFragment,但是源被關閉並且不值得付出努力。

什麼可以讓你更失望,標記InfoWindow是靜態的,你不能設置按鈕或動態視圖(例如ProgressBar)。 但通常我比v1更喜歡它。