【问题标题】:Map View in AndroidAndroid 中的地图视图
【发布时间】:2020-07-29 10:30:36
【问题描述】:

我尝试使用 mapView 来显示地图。但是,当我运行我的应用程序时,它就会崩溃。

当我打开应用程序时,它崩溃了,什么也没有显示。

地图视图没有显示

我的 MainActivity 源代码

private void initGoogleMap(Bundle savedInstanceState){
    // *** IMPORTANT ***
    // MapView requires that the Bundle you pass contain _ONLY_ MapView SDK
    // objects or sub-Bundles.
    Bundle mapViewBundle = null;
    if (savedInstanceState != null) {
        mapViewBundle = savedInstanceState.getBundle(MAP_VIEW_BUNDLE_KEY);
    }

    mMapView.onCreate(mapViewBundle);

    mMapView.getMapAsync(this);
}



@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);

    Bundle mapViewBundle = outState.getBundle(MAP_VIEW_BUNDLE_KEY);
    if (mapViewBundle == null) {
        mapViewBundle = new Bundle();
        outState.putBundle(MAP_VIEW_BUNDLE_KEY, mapViewBundle);
    }

    mMapView.onSaveInstanceState(mapViewBundle);
}

这是我的错误日志

Caused by: java.lang.RuntimeException: API key not found.  Check that <meta-data android:name="com.google.android.geo.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml
    at com.google.maps.api.android.lib6.drd.p.b(:com.google.android.gms.dynamite_mapsdynamite@201215028@20.12.15 (020304-0):6)
    at com.google.maps.api.android.lib6.auth.f.a(:com.google.android.gms.dynamite_mapsdynamite@201215028@20.12.15 (020304-0):1)
    at com.google.android.gms.maps.internal.CreatorImpl.a(:com.google.android.gms.dynamite_mapsdynamite@201215028@20.12.15 (020304-0):20)
    at com.google.android.gms.maps.internal.CreatorImpl.newMapViewDelegate(:com.google.android.gms.dynamite_mapsdynamite@201215028@20.12.15 (020304-0):2)
    at com.google.android.gms.maps.internal.g.a(:com.google.android.gms.dynamite_mapsdynamite@201215028@20.12.15 (020304-0):18)
    at ch.onTransact(:com.google.android.gms.dynamite_mapsdynamite@201215028@20.12.15 (020304-0):4)
    at android.os.Binder.transact(Binder.java:385)
    at crx.a(:com.google.android.gms@201215007@20.12.15 (020304-302916295):2)
    at afiu.newMapViewDelegate(:com.google.android.gms@201215007@20.12.15 (020304-302916295):1)
    at com.google.android.gms.maps.internal.CreatorImpl.newMapViewDelegate(:com.google.android.gms@201215007@20.12.15 (020304-302916295):3)
    at afiv.a(:com.google.android.gms@201215007@20.12.15 (020304-302916295):18)
    at cry.onTransact(:com.google.android.gms@201215007@20.12.15 (020304-302916295):12)
    at android.os.Binder.transact(Binder.java:385)
    at com.google.android.gms.maps.MapView$zzb.zza(Unknown Source)
    at com.google.android.gms.dynamic.zza.zza(Unknown Source)
    at com.google.android.gms.dynamic.zza.onCreate(Unknown Source)
    at com.google.android.gms.maps.MapView.onCreate(Unknown Source)
    at com.istiak.locationlatitudelongitude.MainActivity.initGoogleMap(MainActivity.java:91)
    at com.istiak.locationlatitudelongitude.MainActivity.onCreate(MainActivity.java:77)
    at android.app.Activity.performCreate(Activity.java:6156)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2477)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2610) 

图书馆

compile 'com.google.android.gms:play-services-maps:11.0.4'
compile 'com.google.android.gms:play-services-places:11.0.4'

提前致谢

【问题讨论】:

  • 未找到 API 密钥。检查 是否在 AndroidManifest.xml 的 元素中

标签: java android dictionary


【解决方案1】:

首先请导航到此链接Get Your API Key
然后转到控制台并单击导航菜单,然后单击 Api & Services 并转到凭据。之后点击创建凭据,它会自动创建一个 API 密钥。如果您不想限制 API 密钥,将会出现一个弹出窗口,请单击取消。请不要忘记从 API 和服务菜单的库部分启用 Maps SDK for Android。
获取 Api Key 后,请将其粘贴到下面的代码中,并按如下所述添加此代码

<application>
...
<meta-data android:name="com.google.android.geo.API_KEY"
           android:value="your API key"/>
...
</application>

【讨论】:

    【解决方案2】:

    原因:java.lang.RuntimeException:未找到 API 密钥。检查 在元素中 AndroidManifest.xml

    指定 Google Play 服务版本号

    application 元素中添加以下声明 AndroidManifest.xml。这嵌入了 Google Play 服务的版本 应用程序编译时使用的。

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    

    https://developers.google.com/maps/documentation/android-sdk/config

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多