无法加载地图。联系Google服务器时出错

时间:2013-06-23 17:23:11

标签: android android-maps-v2

我读了所有关于这个问题的帖子,但我无法在我的机器上解决它。 我总是得到:

06-23 20:04:30.011: E/Google Maps Android API(6623): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).

进入地图活动时。

我的代码:

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

    <uses-sdk android:minSdkVersion="14" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <permission android:name="com.mobwal.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
    <uses-permission android:name="com.mobwal.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="com.google.android.providers.gsf.permissions.READ_GSERVICES"/>

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

    <application
        android:allowBackup="true"
        android:icon="@drawable/logo1small"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar" >

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

        <activity
            android:name=".FacebookStart"
            android:label="@string/app_name"
            android:windowSoftInputMode="adjustResize" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

        <activity
            android:name="com.facebook.LoginActivity"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <meta-data
            android:name="com.facebook.sdk.ApplicationId"
            android:value="@string/facebook_app_id" />    

    </application>

</manifest>

我从eclipse首选项中获取了SHA1指纹,它与我使用关键工具相同。问题是我有两个.android文件夹(一个在C:\ Users \ user_name.android和我的android sdk文件夹中)我在尝试使用它激活我的应用程序后删除用户的那个(没有成功,现在它是没有重新创建)所以我只留下了我的android sdk文件夹下的一个没有多大帮助。 我需要帮助,我几乎尝试过任何事情。

6 个答案:

答案 0 :(得分:10)

转到https://code.google.com/apis/console 登录后,转到服务&gt; Google Maps Android API v2并启用此切换按钮。

小心:它是“Google Maps Android API v2”而不是“Google Maps API v2”。

答案 1 :(得分:1)

对于那些没有答案工作的人,在我的情况下问题是,在另一个帐户的控制台上有另一个Android应用程序密钥注册了相同的包名称,因此地图api找到了,并且无法进行身份验证我(显然)。在移除并在手机上再次安装应用程序后,一旦删除(并将指纹添加到我正在使用的指纹),一切都开始工作。

答案 2 :(得分:1)

这是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) file in 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指纹与applet的名称混合:FR:TY:CG ..... YF:ER; com.myapp.nameofit

4)转到https://code.google.com/apis/console/b/0/?noredirect

a)服务并启用“Google Maps Android API v2”到ON状态

b)把FR:TY:CG ..... YF:ER; com.myapp.nameofit在“API Access”中创建新的Android Key

现在你可以像开头一样再次看到你的地图,而不用钥匙!:)

答案 3 :(得分:0)

我尝试做几乎所有事情,例如生成密钥20次,更改权限的顺序,但没有什么比从工作区中删除项目并再次导回它更重要。

答案 4 :(得分:0)

问题是:没有密钥的工作,但不能使用它,因为你触摸&#34; app&#34;从编辑手中拿出文件。您必须对其进行编辑并仅进行更改:文件 - &gt;项目结构

答案 5 :(得分:0)

您需要找到文件\ app \ src \ release \ res \ values \ google_maps_api.xml 在您的项目中并放置您的Google API KEY,因为Android Studio仅显示调试版的调试文件夹中的google_maps_api.xml。比一切都工作,地图不仅会显示在调试模式;)