Google MapActivity不显示地图

时间:2012-05-12 10:14:25

标签: android google-maps keytool

我想让谷歌地图工作。它没有显示地图。我在LogCat中收到以下错误

Couldn't get connection factory client

我浏览过所有重复的帖子,并进行了以下更改

  • 确保uses-permission和uses-library位于标记内
  • 使用debug.keystore而不是自定义
  • 使用我的私钥注册谷歌地图,并使用xml中的地图键更新了我的MapView(对于这篇公开帖子,我已经更改了它)
  • 导出我的应用程序,并使用debug.keystore构建它

我在模拟器上运行它。模拟器上的地图有效。

Android Manifest

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <uses-library android:name="com.google.android.maps" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <activity
        android:name=".MyActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".GetLocation" android:label="@string/app_name"/>
</application>

location.xml

<?xml version="1.0" encoding="utf-8"?>
<com.google.android.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:apiKey="0psLgKtDQLB35-XJXUrjR4bKHIBDRuHu-O-xVhg"
    android:id="@+id/location"
/>

sudo keytool -list -alias androiddebugkey -storepass android -keypass android -keystore     debug.keystore 

返回

androiddebugkey, 20 Mar, 2012, PrivateKeyEntry, 
Certificate fingerprint (MD5): 20:D3:54:D9:F8:70:17:A4:BA:21:5C:98:88:27:45:E0

固定 我把use-permission放在Application标签之外 和Application标签中的uses-library

2 个答案:

答案 0 :(得分:1)

uses-permission标记之外的

<application>。和

  

无法获取连接工厂客户端

它的map-api关键问题。你应该创建Fresh Map-api密钥。

答案 1 :(得分:0)

我相信你可能已经得到了这个问题的解决方案,但对于其他寻求相同问题帮助的人来说,这是ans

尝试放

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

在应用标记之外

离开吧 标签内的<uses-library android:name="com.google.android.maps" />

在应用程序标记内添加元数据

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

它肯定会正常工作