是否可以通过编程方式设置API v2密钥,而不是在AndroidManifest文件中设置此值?
我能够使用API v1键执行此操作,但我无法在MapView
中找到一些方法构造函数来使用当前API执行此操作。
答案 0 :(得分:4)
AFAIK这在Google API V2中无法实现。文档提出了同样的建议,必须使用Manifest文件分配API密钥:
答案 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密钥。