Я научился использовать Карты в студии Android. У меня проект компилируется нормально, но когда я открываю приложение на мобильном, ничего не видно, только слово google внизу.
уже создайте и добавьте ключ API. что может происходить?
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<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" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SecondActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<!--
The API key for Google Maps-based APIs is defined as a string resource.
(See the file "res/values/google_maps_api.xml").
Note that the API key is linked to the encryption key used to sign the APK.
You need a different API key for each encryption key, including the release key that is used to
sign the APK for publishing.
You can define the keys for the debug and release targets in src/debug/ and src/release/.
-->
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="AIzaSyDAEkJrbbqVfGLD7tWhksHRceh8Wqi-j8o" />
<activity
android:name=".MapsActivity"
android:label="@string/title_activity_maps"></activity>
</application>
Если ваша карта отображается неправильно, важно проверить ее внутри
LogCat
, например, у вас может быть такое сообщение:Чтобы включить LogCat : из меню:
Tools
->Android
->Android Device Monitor
и там вы выбираете вкладку « logCat », где отображается информация, связанная с вашим приложением.Основная причина, по которой карта не отображается, заключается в том, что у нее нет правильного ключа API или API не включен.
Повторим шаги, чтобы правильно настроить Карты Google в приложении для Android:
Заходим в консоль разработки, чтобы включить
API de Google Maps
https://console.developers.google.com
ищем
Google Maps Android API
и переходим к варианту "Credentials
"Выбираем:
Create Credentials
>API KEY
>Android Key
Мы добавляем описание, а затем добавляем пакет приложения и сертификат
SHA-1
, который появляется в файлеLogCat
, важно, чтобы вы добавили правильный пакет, поскольку разрешения на просмотр карты назначаются в зависимости от используемого пакета и хранилища ключей (сертификатSHA-1
).При создании ключа API с этими значениями вы получите диалоговое окно со значением вашего ключа API для настройки в вашем
AndroidManifest.xml
установив это значение в файле Manifest.xml
Вы сможете без проблем загружать Карты Google в свое приложение:
Также очень важно отметить, что это
API KEY
зависит от тогоKeystore
, с помощью которого генерируется приложение. В моем случае у меня есть КЛЮЧ API, сгенерированный изSHA-1
отладочной версииKesytore
, а другойAPI KEY
— из тогоKeystore
, с помощью которого приложение подписано в производстве.C:\Users\<user>\.android\debug.keystore
зарегистрируйте его, получите КЛЮЧ API и настройте его в своем проекте.
Подготовка к Android Studio
Следуя шагам Руководства по Android Maps , я смог извлечь необходимые условия для использования службы Google Maps.
Устанавливаем
Google play Services
des изSDK Manager
Create apikey fromGoogle Places API for Android
в консоли: консольный разработчикДобавить зависимости в файл
app.graddle
Создать значения/google_maps_api.xml
примените разрешение
ACCESS_FINE_LOCATION
к файлу,Manifest.xml
чтобы иметь возможность использовать карты Google<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
И определить новую деятельность
Создайте макет layout/activity_maps.xml
Активность, в которой вы хотите использовать элемент карт Google, должна наследовать
FragmentActiity
и загружать интерфейс.OnMapReadyCallback
У меня та же проблема, но у меня она не загружается, когда на устройстве включен только GPS, когда «Режим определения местоположения» находится в «режиме высокой точности» с сетями и Wi-Fi, карта загружается отлично ... Я знаю, что это не ваша проблема, но я оставлю это на случай, если кто-то испытывает то же самое, что и я.