5

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

我可以使用 API v1 密钥来执行此操作,但我无法在其中找到一些方法构造函数MapView来使用当前 API 执行此操作。

4

4 回答 4

4

AFAIK 这在 Google API V2 中是不可能的。文档建议同样的事情,必须使用 Manifest 文件分配 API 密钥:

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

于 2013-07-11T09:30:27.997 回答
1

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

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

之后,您可以正常签署 APK。

于 2013-07-11T10:37:40.407 回答
0

根据谷歌的文档:

拥有 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);
}
于 2013-07-11T08:47:52.753 回答
0

使用MapView的这个构造

公共 MapView(android.content.Context 上下文,java.lang.String apiKey)

参数:

context - 一个 MapActivity 对象。

apiKey - 谷歌地图 API 密钥。有关完整信息,请参阅获取 Maps API 密钥。

于 2013-07-11T09:15:19.000 回答