5

我正在尝试在我的 android 应用程序中实现谷歌地图,但我遇到了一个错误“ android Failed to load map. Could not contact Google servers。” 我已经包含谷歌播放库,使用 SHA1 证书指纹获取密钥。我得到了 SHA1 证书指纹:

 sudo keytool -v -list -alias androiddebugkey \-keystore /home/.android/debug.keystore

我根据这个管理我的清单文件

现在我无法找到这个错误的原因..任何建议都非常感谢...

  • 我已经看到有关 stackoverflow 的问题,但没有得到任何解决方案!

编辑:我的清单文件权限为:

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

<uses-permission android:name="PAKG_NAME.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<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" />
<uses-permission android:name="android.permission.com.google.android.providers.gsf.permission.READ_GSERVICES" />


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


.....................

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

我的布局 xml 的片段为:

  <fragment
            android:id="@+id/map"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            class="com.google.android.gms.maps.SupportMapFragment" />

日志输出:

 E/Google Maps Android API(31478): Failed to load map.  Could not contact Google servers.
4

6 回答 6

4

您确定您启用了“Google Maps Android API v2”而不是“Google Maps API v2”吗?更改后,删除并重新创建 API 密钥。这对我有用...

于 2013-04-24T07:44:50.133 回答
3

尝试右键单击您的项目并选择 Properties > Android > 并在“Project Build target”中选择 Google API。这对我有用:)

于 2013-05-22T20:21:44.313 回答
2

如果您确定您的 API 密钥,您应该从手机中卸载程序并重新安装。它对我有用:)

于 2013-08-06T15:08:18.700 回答
0

让你在控制台中启用 Google android map API v2 检查它是否正确。我认为你启用了谷歌地图 v2 请求失败的原因......

于 2013-04-23T09:58:14.357 回答
0

您应该检查同一个项目是否有重复的 API_KEY。如您所知,我们将使用 sha1 密钥和 android 项目名称来获取 API 密钥。如果您尝试使用相同的 sha1;android_project_name 对来获取 API 密钥,Google 将为您提供另一个 API 密钥。所以它是重复的。如果您在项目中删除较新的并使用较旧的,它将解决您的问题。至少我希望:)

于 2013-07-14T10:11:45.180 回答
0

我在重构和更改我的项目包标识符时遇到了这个问题。如果这是您的情况,您将不得不在 Google Developer Console 上创建一个新项目并再次链接到您的项目。出于某种原因,如果同一应用更改了 ID,Google 会阻止来自同一应用的请求。

于 2014-05-29T05:40:43.580 回答