【问题标题】:Android Google Map: Failed to load map. Error contacting Google serversAndroid 谷歌地图:加载地图失败。联系 Google 服务器时出错
【发布时间】:2014-06-19 06:16:25
【问题描述】:

我知道有很多相同的问题。我已阅读并尝试了答案,但我的仍然无法正常工作。

错误信息:

E/Google Maps Android API:加载地图失败。联系 Google 服务器时出错。这可能是身份验证问题(但可能是由于网络错误)。

我正在尝试在 /extras/google/google_play_services/samples 中运行 Google Map Android 示例代码。

我使用的是 Android Studio,我的 KeyStore 是由 Android Studio 生成的。 在我的开发者控制台中,我同时启用了 Google Maps Android API v2 和 Google Play Android Developer API。在生成 api 密钥的页面中,我使用了运行后从命令行获取的 SHA1

keytool -list -v -keystore "THE_KEYSTORE_GENERTATED_BY_ANDROID_STUDIO" -alias "ALIAS"

对于我使用 com.example.mapdemo 的包名称,因为在示例代码的清单中,它说:

package="com.example.mapdemo"

我也加了

com.google.android.providers.gsf.permission.READ_GSERVICES android.permission.ACCESS_WIFI_STATE

在清单中。

我正在使用带 wifi 的 Nexus 5。

它仍然无法正常工作并出现相同的错误。

我生成的 API 是公共 API 访问。 我卸载该应用并从 Android Studio 中清理它,然后在每次修改清单时运行它。

The full manifest file

【问题讨论】:

  • 您是否生成了新的 API 密钥?并在添加密钥后尝试卸载您的应用并再次安装一个全新的 apk。
  • 我做了,还是不行。
  • 我做到了。请参阅我帖子的最后一行。

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


【解决方案1】:

我会尝试使用 .android 目录中调试密钥库中的 SHA1 生成新的 API 密钥;它被称为 debug.keystore 并且应该位于以下目录中:

  • OS X 和 Linux:~/.android/
  • Windows Vista 和 Windows 7:C:\Users\your_user_name\.android\

找到它后,您可以使用以下命令获取 SHA1:

  • OS X 和 Linux:keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

  • Windows Vista 和 Windows 7:keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

【讨论】:

    【解决方案2】:

    我也面临着与谷歌地图和 ios 以及 android 中的服务相同的问题.....你可以尝试旧的 api 密钥(在 2-3 个月或更长时间之前创建)它们运行良好......

    我相信你的问题会得到解决的。

    快乐编码:)

    【讨论】:

    • 我没有旧的 api 密钥:/
    • 向你的朋友/朋友询问 :)
    【解决方案3】:

    您还必须在manifest 中添加另一个permission

    <permission
      android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
      android:protectionLevel="signature"/>
    <uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE"/>
    

    并仔细检查您是否使用计算机的SHA-1;com.example.mapdemo 在google console 中生成了正确的API-Key,并在此项目中使用它。

    【讨论】:

      【解决方案4】:

      首先,在 Logcat 中检查你的包名。 如果您使用 Android Studio,请查看您的 build.gradle。如果文件包含applicationIdSuffix '.dev'。您应该将 .dev 添加到您的包名称中。

      e.i.包名是:

      com.company.main

      在 API 控制台写入

      ...9S.ME.DA.FE;com.company.main.dev

      【讨论】:

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