是否可以通过编程方式设置Android Maps API v2密钥?

时间:2013-07-11 08:33:28

标签: android android-maps-v2

是否可以通过编程方式设置API v2密钥,而不是在AndroidManifest文件中设置此值?

我能够使用API​​ v1键执行此操作,但我无法在MapView中找到一些方法构造函数来使用当前API执行此操作。

4 个答案:

答案 0 :(得分:4)

AFAIK这在Google API V2中无法实现。文档提出了同样的建议,必须使用Manifest文件分配API密钥:

https://developers.google.com/maps/documentation/android/start#adding_the_api_key_to_your_application

答案 1 :(得分:1)

可以直接在APK文件中更改Maps API v2密钥。

只需编写一个脚本:解压缩APK,编辑二进制AndroidManifest以使用给定密钥替换预定义值(例如XXXXXXX ...),将其拉回到.apk。

之后你可以正常签署APK。

答案 2 :(得分:0)

根据谷歌的文档:

  

拥有Maps API密钥后,您需要从XML布局中的MapView元素中的特殊属性android:apiKey引用它。 如果要直接从代码中实例化MapView,则应在MapView构造函数中传递Maps API密钥

因此,使用mapsView的构造函数传递您的API密钥。 请查看this link了解更多信息

编辑

这是您的问题的代码段:

@Override
protected void onCreate(Bundle arg0) {
     super.onCreate(arg0);
     String mapApiKey = <your choice logic here>
     mMapView = new MapView(this, mapApiKey);
     setContentView(mMapView);
}

答案 3 :(得分:0)

使用 MapView

的此构造

public MapView(android.content.Context context,java.lang.String apiKey)

<强>参数:

context - 一个MapActivity对象。

apiKey - Google Maps API密钥。有关完整信息,请参阅获取Maps API密钥。