2012-03-05 48 views
2

過去幾天,我一直無法獲得一個簡單的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

回答

0

通過使用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

相關問題