Android Google Map API V2 Пустой экран

Привет, я недавно воспользовался учебником Vogella по Google Map API v2. Код похож на его. Но по какой-то причине карта отображается пустым, а logcat также не показывает ошибок. Я также следил за этим видео, чтобы получить отпечаток пальца SHA1, затем я поместил ключ API в файл манифеста. Я использовал хранилище отладки C: \ Users \ UserName.android \ debug.keystore, которое также является хранилищем отладки по умолчанию, расположенным в Eclipse -> Windows -> Preference -> Android -> Build.

Я также создал новый ключ API, и он все еще не работает.

Файл манифеста:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.barcodelibrary" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="15" /> <permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <uses-feature android:name="android.hardware.camera.flash" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.SET_DEBUG_APP"></uses-permission> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".HomeActivity" android:label="@string/title_activity_home" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".ScanActivity"/> <activity android:name=".MapActivity"/> <activity android:name=".BarcodeHelper"/> <activity android:name=".JsonHelper"/> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my api key" /> </application> </manifest> 

Это мой файл макета для активности карты:

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MapActivity" > <fragment android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.MapFragment" /> </RelativeLayout> 

Это моя активность на карте:


public class MapActivity extends Activity { static final LatLng HAMBURG = new LatLng(53.558, 9.927); static final LatLng KIEL = new LatLng(53.551, 9.993); private GoogleMap map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_map); map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)) .getMap(); Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG) .title("Hamburg")); Marker kiel = map.addMarker(new MarkerOptions() .position(KIEL) .title("Kiel") .snippet("Kiel is cool") .icon(BitmapDescriptorFactory .fromResource(R.drawable.ic_launcher))); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_map, menu); return true; } }

Благодаря!

Solutions Collecting From Web of "Android Google Map API V2 Пустой экран"

У вас есть пара разрешений с вашим манифестом. Во-первых, в следующем вам нужно заменить имя пакета на свой пакет, вам также необходимо uses-permission

  <permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> 

За ваше имя пакета, должно быть –

 <permission android:name="com.example.barcodelibrary.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> <uses-permission android:name="com.example.barcodelibrary.permission.MAPS_RECEIVE"/> 

Наконец, вам, похоже, не хватает следующих разрешений из раздела « Разрешимые разрешения » руководства « Начало работы» –

 <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"/> 

Для меня выяснилось, что я не использовал Google Maps Android API v2 . Мы использовали другой API Карт Google, который, как я предполагал, был таким же.

Вы должны запустить свое приложение в амультаторе, имеющем следующую конфигурацию …. 1) Google API (образ системы x86) 2) выберите checkBox, указывающий Use Host GPU ..

Если это не сработало, следуйте этому

Решение проблемы с пустым экраном на картах: Привет, я прошел через этот пустой экран в течение очень долгого времени и опробовал все решения, которые вы можете себе представить. Теперь это решило и было выполнено:

1 – Пройдите все этапы этого урока внимательно.

2. Если пустой экран все тот же, удалите файл хранения файла отладки, который существует в c: \ Users \ youUser.android \ debug.keystore <- удалите этот файл

3 – В eClips IDE перестройте приложение, чтобы оно автоматически создало этот файл. 4-On eclips перейдите в Window -> preferences -> android -> Build, скопируйте свежий SHA1, а затем выполните шаги генерации обычного ключа. 5-Run на вашем реальном устройстве, и я надеюсь, что вы увидите свою карту 🙂

Я должен был добавить правильный отпечаток сертификата SHA-1 на мою консоль разработчика Google.

  1. Отобразить текущий отпечаток: keytool -list -keystore ~/.android/debug.keystore

  2. Скопируйте отпечаток пальца (например, 48: 6F: 55: B7: C5: E4: 54: E1: 29: D5: E1: E1: E2: A8 )

  3. Добавьте его в свои учетные данные для этого конкретного приложения в консоли разработчика Google

Задайте настраиваемые ключевые слова так же, как и по умолчанию (Eclipse). И зарегистрируйте ключ API в консоли Google, как сказано в документации.

У меня такая же проблема с картой. После исправления всех проблем с lib и ключами я просто увидел белый экран с «Google». Проблема заключалась в том, что я поместил MapFragment в ScrollView . После удаления ScrollView все работает нормально. Я вижу карту.

Android Studio: убедитесь, что вы поместили свой ключ в правильную иерархию

Введите описание изображения здесь

Большинство людей забывают активировать Google Maps Android API V2 в консоли разработчика , я активировал его и вуаля, появилась моя карта.

В моем случае это было существующее приложение, которое я клонировал из GitHub и не менял ключ API. Что сработало для меня, так это включить SHA-1 моего сертификата подписи. Следуйте этим инструкциям, чтобы получить отпечаток SHA-1.

Затем у меня был главный разработчик, добавив свой SHA-1 отпечаток пальца в авторизованные пакеты для его соответствующего API-ключа здесь . Затем я снова сделал сборку таким же образом, и это сработало.

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

То, что сработало, заменяет это:

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

Этим

 <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXGNc" /> 

Добавьте непосредственно свой ключ api без строки ressource