API Карт Google v2 показывает пустую карту
Я установил приложение Android для просмотра некоторых вещей на карте Google. Я использовал API Карт Google v2 и следил за всеми настройками, которые можно найти здесь. Я даже зарегистрировал приложение, используя ключ, который я подал на веб-сайт Google.
Мне удалось запустить Activity, но каждый раз, когда я его открываю, меня приветствует пустой экран.
![The Blank Screen I am shown]()
Это мой файл манифеста
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.stullich.tim.woistmeinphoto"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<permission
android:name="com.stullich.tim.woistmeinphoto.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.stullich.tim.woistmeinphoto.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<uses-library android:required="true"
android:name="android.test.runner">
</uses-library>
<activity
android:name="com.stullich.tim.woistmeinphoto.PhotoGalleryActivity"
android:label="@string/app_name"
android:screenOrientation="landscape"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".FullImageViewActivity"
android:screenOrientation="landscape" >
</activity>
<activity android:name=".MapViewActivity"
android:screenOrientation="landscape" >
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="Excluded this for now" />
</application>
И это моя активность, когда я загружаю карту
package com.stullich.tim.woistmeinphoto;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import com.google.android.gms.maps.SupportMapFragment;
public class MapViewActivity extends FragmentActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.map_view_activity);
SupportMapFragment fragment = new SupportMapFragment();
getSupportFragmentManager().beginTransaction()
.add(android.R.id.content, fragment).commit();
}
}
Я слышал, что отсутствие правильного ключа API может привести к этой проблеме, но теперь я проверил тройной ключ, и я не думаю, что это проблема.
Ответы
Ответ 1
Akhil решила проблему для меня.
Я использую OSX, а debug.keystore находится в $HOME/.android/debugkeystore
. Пароль для debug.keystore - это "андроид", как указано в Signing in Debug Mode. Вам нужно будет выполнить keytool, чтобы получить строку SHA1
$> keytool -list -v -keystore .android/debug.keystore
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: androiddebugkey
Creation date: Mar 7, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 5138a42f
Valid from: Thu Mar 07 15:29:03 CET 2013 until: Sat Feb 28 15:29:03 CET 2043
Certificate fingerprints:
MD5: BA:3C:6D:7A:4C:4A:AD:3E:65:DB:53:D1:3A:23:A3:4D
SHA1: A5:38:93:50:7C:EA:55:22:51:1E:BC:EE:AA:A5:6D:A8:6C:B7:16:35
Signature algorithm name: SHA1withRSA
Version: 3
В Google API Console вам понадобится строка SHA1 A5:38:93:50:7C:EA:55:22:51:1E:BC:EE:AA:A5:6D:A8:6C:B7:16:35
Ответ 2
Я столкнулся с той же проблемой и обнаружил, что мой ключ отладки ошибочен. Я изменил его, и теперь он работает.