2013-04-22 61 views
-3

我想使用google API顯示地圖。我能夠使用debug.keystore生成API密鑰,但它只顯示帶有標籤的網格,而不是map,我已經在xml文件中添加了MapView控件。我錯過了什麼?使用Google API顯示地圖

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.maptest" 
android:versionCode="1" 
android:versionName="1.0" > 
<uses-sdk 
    android:minSdkVersion="7" 
    android:targetSdkVersion="8" /> 
<permission 
    android:name="com.example.maptest.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature" /> 
<uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true" /> 

<uses-permission android:name="com.example.maptest.permission.MAPS_RECEIVE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_GPS" /> 
<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.maptest.MainActivity" 
     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="com.google.android.gms" /> 
    <uses-library android:name="com.google.android.maps" android:required="true" /> 

</application> 

+3

另外,我假設您在Google Maps API安裝文檔中執行了其他步驟? – harism 2013-04-22 18:02:35

+0

請顯示活動代碼。 – 2013-04-23 06:45:07

回答

0

我想你還沒有添加一個參考谷歌Play服務庫到您的項目。請參閱本指南Google Maps Android v2以獲取更多幫助。

+0

我在我的項目中添加了Google Play服務庫作爲參考 – user2289052 2013-04-23 04:10:10

0

您很可能在您的Manifest中缺少一些權限,可能是MAPS_RECEIVEREAD_GSERVICES。檢查這個相關的question

編輯:剛剛結束標記</application>前插入您的API密鑰:

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

添加ACCESS_NETWORK_STATE權限:

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

刪除這些行:

<activity android:name="com.google.android.gms" /> 
<uses-library android:name="com.google.android.maps" android:required="true" /> 
+0

我已經添加了關於此的所有許可 – user2289052 2013-04-23 04:08:36

+0

@ user2289052請參閱我編輯的答案。 – Nevermore 2013-04-23 11:47:52

+0

但我在activity_main.xml文件中使用MapView控件,並且還在MapView控件中提供API密鑰,我如何在清單文件中插入API密鑰。 – user2289052 2013-04-25 04:08:56

0

請檢查是否有誤呃你在控制檯中使用Google android地圖,而不是Google Map。這可能也是一個問題。除此之外,您可能還會使用地圖片段。使用支持片段XML

機器人:名字= 「com.google.android.gms.maps.SupportMapFragment」

的GoogleMap克;

gm = ((SupportMapFragment)(getSupportFragmentManager().findFragmentById(R.id.map))).getMap(); 
+0

使用上面的代碼錯誤即將來臨 - 方法getSupportFragmentManager()是未定義的類型MainActivity – user2289052 2013-04-25 07:49:01

+0

@ user2289052這個錯誤意味着你的'MainActivity'擴展'Activity'而不是'FragmentActivity'從[Android支持庫](http:// developer .android.com /工具/演員/支撐library.html)。 – Nevermore 2013-04-25 15:07:38