Просмотр карты в Android - PullRequest
       7

Просмотр карты в Android

0 голосов
/ 16 апреля 2020

Я пытался использовать mapView, чтобы показать карту. Но когда я запускаю свое приложение, оно просто вызывает sh.

Когда я открываю приложение, оно вызывает sh и ничего не отображается. Пожалуйста, помогите мне кто-нибудь.

Вместо этого не отображается карта

Исходный код My 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);
}

Вот моя ошибка logcat

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'

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

Прежде всего, перейдите по этой ссылке Получите ваш ключ API
Затем go в консоль и нажмите меню навигации, затем Api & Services и go для ввода учетных данных. После этого нажмите на создать учетные данные, чтобы он автоматически создал один ключ API. Появится одно всплывающее окно, нажмите «Отмена», если вы не хотите ограничивать ключ API. Пожалуйста, не забудьте включить Maps SDK для Android из раздела библиотеки меню API и сервисов.
После получения ключа Api вставьте его в приведенный ниже код и добавьте этот код, как указано ниже

<application>
...
<meta-data android:name="com.google.android.geo.API_KEY"
           android:value="your API key"/>
...
</application>
1 голос
/ 16 апреля 2020

Причина: java .lang.RuntimeException: ключ API не найден. Проверьте, что находится в элементе AndroidManifest. xml

Укажите номер версии сервисов Google Play

Добавьте следующее объявление в элемент приложения 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

...