1

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

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

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

  • 我已经检查了 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>

活动

公共类首页扩展活动{

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();
    }
}
4

3 回答 3

1

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

看看这个

于 2013-08-16T22:06:12.717 回答
1

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

  • 谷歌地图 Android API v2

然后,重新创建API 密钥,地图应该可以工作了——他们为我做了。

于 2013-08-17T13:58:21.760 回答
1

把它放到你的清单中。

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

还要检查同意屏幕(在 Google Developer Console 网站 > 设置上)是否有您的电子邮件地址和产品名称。

于 2014-08-23T12:21:38.867 回答