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

时间:2013-04-26 07:30:36

标签: android google-maps android-layout google-api

我从调试密钥库获得了 SHA 1证书

使用我生成的 Google Map V2 Api密钥

我扩展了片段活动。

我在xml中使用了“com.google.android.gms.maps.SupportMapFragment”。

当我运行它时,它显示以下错误。 “无法加载地图。无法联系Google服务器” 授权失败。

任何人都可以帮助我从这个问题中恢复过来。

清单

<manifest xmlns:android="http://schemas.android.com/apk/res/android"  
       package="com.example.demomap" 
       android:versionCode="1" 
       android:versionName="1.0" >
    <uses-sdk android:minSdkVersion="8"
        android:targetSdkVersion="15" />
    <permission
         android:name="com.example.demomap.permission.MAPS_RECEIVE"
         android:protectionLevel="signature" />
    <uses-permission android:name="com.example.demomap.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <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-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

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

        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

xml代码:

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

    <TextView
        android:id="@+id/header"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world"
        tools:context=".MainActivity" />

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_below="@id/header"
          android:id="@+id/map"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:name="com.google.android.gms.maps.SupportMapFragment"/>

</RelativeLayout>

java代码:

    package com.example.demomap;
    import com.google.android.gms.maps.SupportMapFragment;
    import android.os.Bundle;
    import android.app.Activity;
    import android.support.v4.app.FragmentActivity;
    import android.view.Menu;
    public class MainActivity extends FragmentActivity {


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    }

3 个答案:

答案 0 :(得分:0)

在Google Api控制台上,您需要转到服务标签和Google Map Android API v2。你做完了吗?

答案 1 :(得分:0)

无法加载地图。联系Google服务器的问题与Android google maps api v2有关 如果您使用release api key获取此消息 - 这意味着它处于调试模式。所以从eclipse导出你的应用程序并安装应用程序。

答案 2 :(得分:0)

事实证明,Google Play控制台可能正在使用自己的证书对上传的应用进行签名,并创建与用于启用API映射的指纹不同的另一SHA1指纹。使用您可以在Google Play控制台>发布管理>应用签名中找到的那一项,在您的Google Developer Console中enter image description here