【问题标题】:Error in Google Maps android "android Failed to load map. Could not contact Google servers."Google Maps android 中的错误“android 无法加载地图。无法联系 Google 服务器。”
【发布时间】:2014-05-29 13:40:43
【问题描述】:

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

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

我根据This管理我的清单文件

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

  • 我已经看到有关 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" />

Logcat 输出:

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

【问题讨论】:

  • 我更改/重新创建了 api 密钥几次但得到相同的错误
  • @Saad Khokhar-在此处发布您的 xml。

标签: android google-maps


【解决方案1】:

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

【讨论】:

  • 不敢相信:犯了那个确切的错误。非常感谢!
【解决方案2】:

尝试右键单击您的项目并选择“属性”>“Android”>,然后在“项目构建目标”中选择 Google API。这对我有用:)

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 我认为android store首先在程序缓存中使用了API key,所以您需要清除缓存或卸载应用程序才能使用新的API key
    【解决方案4】:

    您是否在控制台检查中启用了 Google android map API v2 妥妥的。 我想你启用了谷歌地图 v2,为什么请求失败......

    【讨论】:

    • developers.google.com/maps/documentation/android/…。我想你在 Google 控制台中创建 API 项目。
    • 我已经从控制台启用了 Google Maps Android API v2,但仍然遇到同样的错误
    • @gupta,是的,我已经遵循了所有这些步骤
    • @Saad Khokhar-请发布您的 logcat 输出。
    • 请看问题,我已经用我的 logcat 输出编辑了它!
    【解决方案5】:

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

    【讨论】:

      【解决方案6】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多