我一直在将我的Android Java应用程序从Googlemaps V1升级到V2,这真的很痛苦。我需要在程序上完成所有显示(即没有XML布局文件),因为它是我开发的跨平台引擎。
在V1中,我可以在通过
创建MapView时设置API密钥String apikey = MySettings.getMapsKey();
MapView mapView = new MapView( activity, apikey );
这非常好,因为我可以构建许多使用不同证书签名的应用程序,并为其提供不同的数据文件。
您现在必须通过
在Manifest文件中设置API密钥 <meta-data android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyD_LwdRJXXXxn9VdOgKWbPaVxH-YqX67-8" />
所以这两个问题是
答案 0 :(得分:2)
1)是的,没有其他选择,只能使用 MapFragment (对API [v4-v10]使用 SupprotMapFragment )
2)除了从Manifest设置API密钥之外,没有其他办法(至少记录在案)。可以在代码中获得元数据,并使用反射以某种方式设置为 MapFragment ,但是源已关闭且不值得努力。
更令你失望的是,Marker InfoWindow是静态的,你不能设置按钮或动态视图(例如ProgressBar)。 但一般来说,我喜欢它比v1好得多。