相关疑难解决方法(0)

Google Maps API V2'无法加载地图.无法联系Google服务器

我已经检查并仔细检查了我在Google控制台上注册的API密钥但是我仍然收到以下错误:

12-05 16:31:12.940: E/Google Maps Android API(12334): Failed to load map.  Could not contact Google servers.
Run Code Online (Sandbox Code Playgroud)

我所看到的是放大/缩小按钮和MapView的背景但没有Map ??? !!!

有任何想法吗???

回答

我将在此发布,因为解决了我的问题的原因已在下面接受的答案的评论中说明.

这是READ_GSERVICES许可.出于某种原因,在开发人员网站上使用它们时未提及该权限.

android android-maps

24
推荐指数
3
解决办法
3万
查看次数

Map API v2授权失败

好吧,这是我用这个例子做的

  1. 通过keytool获得调试密钥(确保调试密钥在首选项 - > Android - > Build中由eclipse使用)
  2. 通过命令生成密钥

    $ keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android

  3. 复制粘贴在Google API控制台+我的包名称中的SHA1总和:

    总和; com.my.package

  4. 在Google API控制台的同一项目中启用了Google Map API v2

  5. 将其复制到元数据中的Manifest应用程序.

  6. 通过SDK管理器下载并导入google-play-services_lib项目并将其作为库项目引用.以及ActionBarSherlock.

  7. 在启动之前,我确保GooglePlayServices可用.

表现:

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

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

<uses-permission android:name="com.my.package.permission.MAPS_RECEIVE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Run Code Online (Sandbox Code Playgroud)

应用:

<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="debug_key"/>
Run Code Online (Sandbox Code Playgroud)

还添加了proguard的东西,但我现在没有混淆.

DrugstoresMapActivity扩展了SherlockFragmentActivity

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

    <fragment
        android:id="@+id/map_fragment"
        class="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

project.properties

target=android-17
android.library.reference.1=../google-play-services_lib
android.library.reference.2=../ActionBarSherlock
Run Code Online (Sandbox Code Playgroud)

ActionBarSherlock在libs中有android-support-v4,如果重要的话,不是主项目.

StartupActivity确保只有可用的服务才会启动DrugstoresMapActivity

private void attempt() { …
Run Code Online (Sandbox Code Playgroud)

android google-maps-api-2 android-maps

14
推荐指数
1
解决办法
7670
查看次数

Google Maps Android API v2:无法加载地图.无法与Google服务器联系

我正在尝试使用Google Maps Android API v2,我已经从我的发布证书中创建了SHA1密钥.

我读过从注释在这里,并已取得的一切权利,包括权限READ_GSERVICES这是不是在谷歌的说明中规定这里

但是我仍然有错误

E/Google Maps Android API(12334):无法加载地图.无法联系Google服务器.

如果我还有遗漏的东西,无论如何可以启发我吗?

我也包括了这个:

<permission
      android:name="com.example.permission.MAPS_RECEIVE"
      android:protectionLevel="signature"/>
    <uses-permission android:name="com.example.permission.MAPS_RECEIVE"/>
Run Code Online (Sandbox Code Playgroud)

<meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="my_api_key"/>
Run Code Online (Sandbox Code Playgroud)

在我的applcation标签中.

更新:刚刚管理删除该错误,认为我错误地键入了我的READ_GSERVICES.

但是,现在我遇到了这个问题:

01-24 16:58:08.628:E/Google Maps Android API(28025):授权失败.

是什么导致了这个问题?我的SHA1是从我的发布证书中获得的,是错的吗?

android android-maps-v2

7
推荐指数
2
解决办法
8964
查看次数

Google Maps android中的错误"android无法加载地图.无法联系Google服务器."

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

 sudo keytool -v -list -alias androiddebugkey \-keystore /home/.android/debug.keystore
Run Code Online (Sandbox Code Playgroud)

我根据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" />
Run Code Online (Sandbox Code Playgroud)

我的布局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" /> …
Run Code Online (Sandbox Code Playgroud)

android google-maps

5
推荐指数
1
解决办法
3839
查看次数