Android - 谷歌地图Api v2 - 身份验证错误

时间:2013-08-16 19:37:29

标签: android map

经过大量研究解决我的问题后,我不得不问。一切都已设置,但地图不会显示。错误是:

08-16 20:31:49.473: E/Google Maps Android API(10864): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).

我在调试模式下运行Map(我也试过将.apk安装到设备中并运行它)并且同样的事情发生 - 没有Map。

  • 我检查了Api键

清单

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

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

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

    <uses-permission android:name="com.my_package_name.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <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" />

    <application
        ... >
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyCEH*************************" />
    </application>
</manifest>

活动

public class Home扩展活动{

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.home);

    map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
    }
}

3 个答案:

答案 0 :(得分:1)

这是一个身份验证问题,您可能没有使用SHA1指纹正确设置API密钥。

查看this

答案 1 :(得分:1)

在Google控制台中激活这些服务

  • Google Maps Android API v2

然后,重新创建 API密钥,地图就可以运行 - 他们为我做了。

答案 2 :(得分:1)

将它放入你的清单。

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

同时检查同意屏幕(在Google Developer Console网站&gt;设置上)是否包含您的电子邮件地址和产品名称。