Android 版 Google 地图的动态 API 密钥

Ren*_*uza 5 java android google-maps

我们正在开发一个使用谷歌地图的 Android 应用程序。

现在,出于开发目的,我们使用这样的密钥:

<meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/google_maps_key" />
Run Code Online (Sandbox Code Playgroud)

<string name="google_maps_key">KEY_HERE</string>
Run Code Online (Sandbox Code Playgroud)

出于部署目的,我们将实施“自带密钥”方法,每个购买产品的客户也将使用他的密钥。

我知道这很奇怪,也有些不必要,但这是一个大公司的流程,这个决定来自“高​​层”。

有什么办法可以让我们拥有动态密钥?就像将密钥放入服务并在应用程序中使用它或类似的东西?

感谢任何帮助。

Raj*_*Raj 5

根据文档,这在 Google API V2 中是不可能的,必须使用清单文件分配 API 密钥。

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

但对于 MapView 来说这是可能的。

如果直接从代码实例化 MapView,则应在 MapView 构造函数中传递 Maps API Key。

代码:

@Override
protected void onCreate(.....) {
     super.onCreate(....);
     mMapView = new MapView(this, YOUR_MAP_API_KEY); //pass key to MapView Constructor here
     setContentView(mMapView);
  //   ....
}
Run Code Online (Sandbox Code Playgroud)