Android:MapView只显示灰色网格,显示错误“无法获取连接工厂客户端”

问题描述:

过去几天,我一直无法获得一个简单的MapView工作,没有覆盖任何东西,只是地图。我查了很多解决方案,但都没有为我工作。Android:MapView只显示灰色网格,显示错误“无法获取连接工厂客户端”

我有一个调试密钥库apikey。我在清单文件的适当位置拥有所有适当的权限,但我仍然得到相同的错误和相同的灰色网格。我的代码中是否存在某些内容?我不知道怎么回事,请帮忙!

这是mapactivity布局XML:

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

    <com.google.android.maps.MapView 
     android:id="@+id/mapview" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:enabled="true" 
     android:clickable="true" 
     android:apiKey="xxxx" /> 

</LinearLayout> 

这是mapactivity代码:

public class MapActivity extends com.google.android.maps.MapActivity { 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.map_view); 
    } 

    @Override 
    protected boolean isRouteDisplayed() { 
     return false; 
    } 
} 

这是我的清单文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="xxxx" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="15" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" android:debuggable="true"> 
     <uses-library android:name="com.google.android.maps" /> 
     . 
     . 
     . 
     . 
     <activity android:name="MapActivity"></activity> 

    </application> 

</manifest> 
+0

这通常意味着签名密钥出错。你有没有用谷歌注册你的证书密钥?如果是,请确保您在设备上运行时使用释放键并在模拟器上运行时使用调试键进行签名。 – 2012-03-05 13:21:37

+0

感谢您的快速回复。是的,是的。我使用Google注册了我的密钥,并使用了正确的密钥。 – 2012-03-05 13:57:41

+0

我刚刚生成了一个新的debug.keystore,但仍然出现同样的错误:( – 2012-03-05 14:05:47

通过使用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. 然后键入密钥工具-exportcert -alias androiddebugkey -keystore “C:\用户\ user-name.android \ debug.keystore” -list -v

    在我的情况我输入密钥工具-exportcert - 别名androiddebugkey -keystore“C:\ Users \ User.android \ debug.keystore”-list -v

  4. 然后您将被要求输入密码。默认密码是android。
  5. 然后你会得到MD5指纹。
+0

谷歌地图Android API版本1已正式弃用为即2012年12月3日。这意味着从2013年3月18日起,您将不再能够为此版本请求API密钥。 – 2013-07-02 09:10:47