【问题标题】:Dynamic API KEY for Google Maps on AndroidAndroid 上 Google 地图的动态 API KEY
【发布时间】:2018-07-12 17:31:54
【问题描述】:

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

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

<meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/google_maps_key" />

<string name="google_maps_key">KEY_HERE</string>

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

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

有什么方法可以让我们拥有动态键?比如将密钥放入服务并在应用中使用或类似的东西?

感谢任何帮助。

【问题讨论】:

    标签: java android google-maps


    【解决方案1】:

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

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

    但它可以用于 MapView。

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

    代码:

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

    【讨论】:

    • 感谢您的回答。使用 MapView 的选项绝对是可行的。使用地图视图有什么缺点吗?我会稍等一下,看看有没有其他答案,否则很快就会接受你的。
    • 在地图 v2 中,构造函数已更改“新 MapView(this, YOUR_MAP_API_KEY)”不起作用,您有什么解决方案吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多