【问题标题】:No maps showing on MapActivityMapActivity 上没有显示地图
【发布时间】:2013-02-01 11:16:43
【问题描述】:

我已经下载了谷歌 API,现在我的地图 XML 似乎是一个标准问题,只是在应该显示谷歌地图的地方显示一个灰色的手柄,如图所示:

我尝试了两个 API 密钥(通过生成一个新密钥)无济于事。我在清单中添加了 Internet 权限和 Google 地图库,如下所示:

清单:

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.map"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" />

<uses-permission android:name="android.permission.INTERNET"/>

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >

    <activity
        android:name=".MainMap"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
  <uses-library android:name="com.google.android.maps" />
</application>
</manifest>

API 密钥:

这是我的地图 XML 布局:

<?xml version="1.0" encoding="utf-8"?>

<com.google.android.maps.MapView 
    android:id="@+id/mapView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:enabled="true"
    android:clickable="true"
    android:apiKey="AIzaSyBV_Zio-pysGWfjGo7dUpGvYRZ9PB3NQLc"/>

</RelativeLayout>

我将我的项目设置为 Google API 的 SDK 版本,并且与我的 AVD 相同。

当我的应用程序加载并开始我的意图时,我在控制台中收到以下错误:

02-16 15:55:04.637: E/MapActivity(305): Couldn't get connection factory client

【问题讨论】:

  • 读取this并生成api密钥here
  • XML 权限不应该在应用程序的 XML 中
  • 您尝试做的这些方法在2012年12月被贬值:请阅读this document。而且即使您使用新的 Google Maps API v2,您也无法在模拟器中部署您的应用:请参阅this document

标签: java android api google-maps


【解决方案1】:

我觉得你的manifest和layout文件没问题。这个问题一般是key问题导致的。通过使用 SHA1 证书指纹,我遇到了同样的问题。所以我选择了 MD5 证书指纹。访问此站点https://developers.google.com/maps/documentation/android/v1/maps-api-signup 并提供您的 MD5 指纹并获取密钥。获取 MD5 指纹

  1. 在运行中键入 cmd 打开命令提示符。开始⇒运行⇒ 输入 cmd
  2. 输入 cd c:\path-to-jdk-dir\bin\ 进入 jdk 的 bin 目录

    在我的例子中,我输入了 cd C:\Program Files\Java\jdk1.7.0_07\bin\

  3. 然后输入 keytool -exportcert -alias androiddebugkey -keystore "C:\Users\user-name\.android\debug.keystore" -list -v

    在我的例子中,我输入了 keytool -exportcert -alias androiddebugkey -keystore "C:\Users\User\.android\debug.keystore" -list -v

  4. 然后您将被要求输入密码。默认密码是android。

最后你会得到 MD5 指纹。

【讨论】:

    【解决方案2】:

    我在使用 Android 2.3.3 的模拟器上遇到了同样的问题,在寻找解决方案时,我发现这是使用此操作系统版本的模拟器的一个已知问题。试试另一个不同版本的模拟器,它应该可以工作。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-24
      • 1970-01-01
      • 2011-09-29
      • 2014-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多