Подтвердить что ты не робот

В версии 2 Map не отображается карта

Активность карты не отображает карту, она отображается как белый экран с кнопками управления масштабированием. Файл манифеста следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.demomap"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
   <permission
        android:name="com.example.demomap.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />
    <uses-permission android:name="com.example.demomap.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.demomap.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyCTQZOcXFS3RpNSVe79HHN1xojat-2MbT4" />
    </application>
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />
</manifest>

Мой файл XmL Как это:

<?xml version="1.0" encoding="utf-8"?>
<fragment
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.google.android.gms.maps.SupportMapFragment" />

Ошибка журнала кота:

05-15 17:15:16.255: E/Google Maps Android API(26201): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).

Пожалуйста, помогите мне.

4b9b3361

Ответ 1

Возможно, ключ неправильный. Вы можете попробовать следующее:

  • Убедитесь, что вы ввели свое правое название пакета, например
  • Тестирование на реальном устройстве, которое обновило последнюю игру Google. Или используйте эмулятор с этим руководством
  • Активная карта google api v2 для Android для сайт консоли Google enter image description here

Ответ 2

У меня возникла проблема с использованием MapView

fragment_map.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<com.google.android.gms.maps.MapView
    android:id="@+id/mapview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>

    @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
    String message = getArguments().getString(EXTRA_MESSAGE);
    v = inflater.inflate(R.layout.map_f, container, false);
    vh = new ViewHolder();
    assetHandler = new AssetHandler(getActivity());
    vh.mapView=assetHandler.mapViewHandler.set(v,R.id.mapview);
    vh.mapView.onCreate(savedInstanceState);

    vh.mapView.getMapAsync(new OnMapReadyCallback() {
        @Override
        public void onMapReady(GoogleMap googleMap) {
            googleMap.getUiSettings().setMyLocationButtonEnabled(true);
            googleMap.setMyLocationEnabled(true);
            // Needs to call MapsInitializer before doing any CameraUpdateFactory calls
            try {
                MapsInitializer.initialize(getActivity());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
    return v;
}


@Override
public void onResume() {
    super.onResume();
    vh.mapView.onResume();


}

@Override
public void onPause() {
    vh.mapView.onPause();
    super.onPause();
}

@Override
public void onDestroy() {
    vh.mapView.onDestroy();
    super.onDestroy();
}

@Override
public void onLowMemory() {
    super.onLowMemory();
    vh.mapView.onLowMemory();
}

Я заметил, что если методы LifeCycle не реализованы, вы также не сможете увидеть карту. надеюсь, что это обнадеживает для некоторых.

Ответ 3

много раз проблема возникает из-за не добавления поддержки служб google в разрешениях манифеста:

Проверить это разрешение присутствует в вашем манифесте:

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

Ответ 4

Я изменил имя пакета и обновил консоль. У меня было все правильно (правильный ключ SHA1, имя пакета и ключ API в манифесте), но все же получил то же сообщение об ошибке.

Мне пришлось удалить приложение и перезапустить телефон, чтобы проблема исчезла. Кажется, что-то кэшировано.

Ответ 5

Как уже упоминалось, эта проблема обычно возникает из-за того, что вы неправильно ссылаетесь на библиотеку google-play-service. Пожалуйста, взгляните на первые 3 шага из следующего руководства. Я не писал об интеграции Google Maps в ваше приложение и не выполнял правильные шаги:

Google Maps API V2

Ответ 6

У меня была такая же проблема, как и у вас, но я решил ее, когда заметил, что я не упоминал при создании нового приложения имя пакета в ключе API/////вам нужно проверить, что в консоли Google google.

must be the same package name at the console and the one in your eclipse.

надеюсь, что это поможет вам.

Ответ 7

Мое предложение - вы можете использовать MapFragment. Насколько я знаю, почти все устройства обновлены до 11 и выше. MapFragment поддерживает 11 и выше. Войдите в консоль google api снова и проверьте, присутствует ли ваш ключ приложения там или нет. Я знаю, что вы уже это сделали. Но проверьте его еще раз. Потому что у меня проблема, когда ключ api не сохраняется. Я должен каждый раз создавать новый проект. Возможно, вы столкнулись с одной и той же проблемой.

Ответ 8

Я просто потратил пару часов на эту же ошибку. Сначала у меня не было правильно настроено ключ API отладочного ключа хранилища, и мое устройство Android заблокировало неправильный ключ API, который был жестко закодирован в мой манифест. В конце концов я просто удалил приложение с устройства, очистил проект, и это очистило все остаточные ключи API, хранящиеся локально на устройстве. Я снова запустил приложение, и все работало как шарм!

Удачи.

Ответ 9

Существует два типа подписанных и unsigned apk. Если ваш apk подписан, тогда вы хотите использовать ключ release. Если вы используете отладочный ключ и подписали apk, это не сработает. поэтому используйте ключ release, когда вы экспортируете apk и проверяете реальное устройство. В этой документации https://developers.google.com/maps/documentation/android/start#the_google_maps_api_key он дал. Отображение отпечатка сертификата выпуска.

Ответ 10

Если вы используете ключ API, созданный для debug.keystore, ваши карты будут отображаться только при запуске приложения в режиме отладки. Убедитесь, что вы это делаете.

Ответ 11

Это проблема с хранилищем ключей на 99%.

1) Я использую для выпуска и отладки тот же файл debug.keystore, который я копирую из C:/Users/EEfimenko/.android/debug.keystore в папку C:\Users\EEfimenko\Android\MyApp\app для доступа прямо как "debug.keystore" без ссылки "C:/Users/..."

2) Затем добавляю к нему файл build.gradle(Module: app) в 'android {': signingConfigs { debug { storeFile file('debug.keystore') } release { storeFile file('debug.keystore') } }

3) Запустите команду "keytool -list -v -keystore debug.keystore" из cmd из папки C:\Users\EEfimenko\Android\MyApp\app и смешайте полученный отпечаток SHA1 с именем апплета: FR: TY: CG..... YF: ER; com.myapp.nameofit

4), то я перехожу к https://code.google.com/apis/console/b/0/?noredirect в:

a) Службы и включите "API Android Google Maps v2" в состояние "ВКЛ"

b) введите FR: TY: CG..... YF: ER; com.myapp.nameofit в "API Access", например, Create new Android Key

Теперь вы можете снова увидеть свою карту с ключом, как при начале без ключа!:)

Ответ 12

Вы активировали сервис Google Map в консоли API?

Ответ 13

У меня была такая же проблема, поэтому я пошел дальше и создал новый ключ на консоли API. Кроме того, следите за инструкциями по записи ключа выпуска на консоли API: Отображение отпечатка сертификата выпуска

Теперь он работает для меня...

Ответ 14

Вот что я сделал.. 1) Изменено рабочее пространство. 2) На веб-сайте Ланса Нанека http://permalink.gmane.org/gmane.comp.handhelds.android.devel/98066, похоже, что - с новой функцией библиотеки вы не указываете проекты Android, на которые вы зависите, в разделе "Путь сборки Java" свойств. Вы делаете это в разделе Android свойств.

и так, goto Application Project Properties в Java Build Path → ударить проекты - выберите библиотеку и удалите ее. Это решило мою проблему!

Ответ 15

В дополнение к элементам для проверки, упомянутым выше, я создал ключ SHA1 вне затмения. Затем я перенес проект в eclipse (я пытался создать андроид-студию), и eclipse автоматически сгенерировал новый ключ SHA1, поэтому мне пришлось создать на нем новый API_KEY.

Ответ 16

Я просто потратил много часов на это. Оказывается, на моем диске был другой debug.keystore(найдите вокруг, чтобы убедиться, что вы используете правильный). Кроме того, если вы получите эту ошибку, оставьте приложение работать немного. Я снова получил ошибку, когда я добавил правильное SHA1/приложение в доступ к API Google, и, когда я читал некоторые документы, карта появилась. Вероятно, потребовалось 1-2 минуты.

Ответ 17

Вам нужно подписать свой apk с тем же sh1, который зарегистрируется в google api console, то же самое имя пакета приложения и на службе v2 на карте google api console, убедитесь, что подписали ваш apk с тем же дистрибутивом sh1. debug.keystore, затем проверьте на реальном устройстве он будет работать как прелесть.

Ответ 18

Я не мог заставить его работать, пока не добавлю следующее в тег приложения моего манифеста:

<application>
...
   <uses-library android:required="true" android:name="com.google.android.maps" />
...
</application>

Надеюсь, это поможет!