是否可以以编程方式设置 API v2 密钥,而不是在 AndroidManifest 文件中设置此值?
我可以使用 API v1 密钥来执行此操作,但我无法在其中找到一些方法构造函数MapView
来使用当前 API 执行此操作。
是否可以以编程方式设置 API v2 密钥,而不是在 AndroidManifest 文件中设置此值?
我可以使用 API v1 密钥来执行此操作,但我无法在其中找到一些方法构造函数MapView
来使用当前 API 执行此操作。
AFAIK 这在 Google API V2 中是不可能的。文档建议同样的事情,必须使用 Manifest 文件分配 API 密钥:
可以直接在 APK 文件中更改 Maps API v2 密钥。
只需编写一个脚本:解压缩 APK,编辑二进制 AndroidManifest 以用给定的密钥替换预定义的值(例如 XXXXXXX...),然后将其压缩回 .apk。
之后,您可以正常签署 APK。
根据谷歌的文档:
拥有 Maps API 密钥后,您需要从 XML 布局的 MapView 元素中的特殊属性 android:apiKey 引用它。如果您直接从代码中实例化 MapView,则应在 MapView 构造函数中传递 Maps API 密钥。
因此,请使用 mapsView 的构造函数传递您的 API 密钥。请查看此链接以获取更多信息
编辑
这是您的问题的代码片段:
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
String mapApiKey = <your choice logic here>
mMapView = new MapView(this, mapApiKey);
setContentView(mMapView);
}
使用MapView的这个构造
公共 MapView(android.content.Context 上下文,java.lang.String apiKey)
参数:
context - 一个 MapActivity 对象。
apiKey - 谷歌地图 API 密钥。有关完整信息,请参阅获取 Maps API 密钥。