2014-10-27 172 views
0

我目前正在使用Google Maps API v2的应用程序。但是MapView只显示灰色背景,Google徽标和缩放按钮。Google地图只显示灰色背景,而不显示地图

下面是错误信息:

10-27 10:50:25.309: D/REQUEST(18335): Connection opened to:https://clients4.google.com/glm/mmap/api 
10-27 10:50:25.309: D/REQUEST(18335): Open Connection 
10-27 10:50:26.239: D/REQUEST(18335): DRD(24): 62|147 
10-27 10:50:26.239: D/REQUEST(18335): Close 
10-27 10:50:26.239: D/REQUEST(18335): Error processing: [email protected] not retrying 
10-27 10:50:26.239: D/REQUEST(18335): Retrying: [email protected] 

而另:

10-27 10:49:49.309: E/REQUEST(18335): In Error Mode 
10-27 10:49:49.319: E/Google Maps Android API(18335): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors). 

我的清单确实包含我的API密钥和不同的权限:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="de.hobbit.xmltest" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <permission 
     android:name="de.hobbit.xmltest.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

    <uses-permission android:name="de.hobbit.xmltest.permission.MAPS_RECEIVE" /> 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="8" /> 

    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 

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

    <!-- Required to show current location --> 
    <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" > 

     <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 
     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="SOMEKEY" /> 

     <activity 
      android:name=".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> 
     <activity 
      android:name=".SingleActivity" 
      android:label="@string/title_activity_single" > 
     </activity> 
    </application> 

</manifest> 

我希望有人能找到我的错。

谢谢。

+2

请勿发布API密钥!你可以并且应该把它扔掉并生成一个新的......这就像在这里发布你的密码! – WarrenFaith 2014-10-27 10:03:46

+0

顺便说一下,你应该总是针对清单中的最新API级别,而不是与你的min sdk相同。 – WarrenFaith 2014-10-27 10:05:01

+1

[检查是否有帮助](http://stackoverflow.com/questions/17491400/failed-to-load-map-error-contacting-google-servers-issue-with-android-google-ma) – 2014-10-27 10:05:37

回答

1

我使用了错误的密钥库...

而不是使用调试密钥库,我用我的实际密钥库。

要访问调试密钥库中蚀

1.Go到窗口 - >首选项 - > Android->构建

2.复印的SHA1指纹

3.Generate在API密钥开发人员控制台使用调试密钥库

+0

这节省了我的一天。只想为Android Studio用户添加信息:您可以访问〜/ .android/debug.keystore中的调试密钥库。要读取sha1,可以使用以下命令(假设它在.android文件夹下运行):keytool -list -v -keystore debug.keystore – 2014-12-31 12:38:14