Android Googlemaps V2 API密钥查询?

时间:2013-04-26 10:07:14

标签: android google-maps google-maps-api-2

我一直在将我的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" />

所以这两个问题是

  • 我的假设是否正确,MapView仅适用于Googlemaps V1,所以我不得不放弃并开始使用MapFragment来支持Googlemaps V2?
  • 如果我们现在必须使用MapFragment,是否有任何方法可以在程序上设置此密钥而不是嵌入代码/清单中?

1 个答案:

答案 0 :(得分:2)

1)是的,没有其他选择,只能使用 MapFragment (对API [v4-v10]使用 SupprotMapFragment

2)除了从Manifest设置API密钥之外,没有其他办法(至少记录在案)。可以在代码中获得元数据,并使用反射以某种方式设置为 MapFragment ,但是源已关闭且不值得努力。

更令你失望的是,Marker InfoWindow是静态的,你不能设置按钮或动态视图(例如ProgressBar)。 但一般来说,我喜欢它比v1好得多。