2014-03-04 86 views
-1

我已經閱讀了關於這個問題的許多問題,但他們都沒有解決我的問題。縮放圖塊正在顯示,但地圖未加載。我在Android設備上運行應用程序,所以它不能成爲模擬器的問題。我創建了一個API密鑰,並將Google Play庫添加到項目中。下面顯示了所有創建的代碼,所以如果有人能指出我的方向是正確的話,這將非常有幫助。安卓應用不顯示谷歌地圖

的AndroidManifest.xml

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

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

<uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true"/> 



<permission 
    android:name="package.name.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature"/> 
<uses-permission android:name="package.name.permission.MAPS_RECEIVE"/> 



<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
<!-- The following two permissions are not required to use 
    Google Maps Android API v2, but are recommended. --> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <uses-library android:name="com.google.android.maps" /> 
    <activity 
     android:name="com.example.androidgooglemap.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> 
    <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 
    <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="KEY"/> 
</application> 

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/map" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:name="com.google.android.gms.maps.MapFragment"/> 

MainActivity.java

package com.example.androidgooglemap; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

}

+0

您是否在Google開發者控制檯上激活了「Google Maps Android API v2」? –

+0

是的,我也這樣做過。還有其他建議嗎? – user3374478

回答

0

你要更改包在下面的權限,可以在清單文件:

<permission 
android:name="package.name.permission.MAPS_RECEIVE" 
android:protectionLevel="signature"/> 
<uses-permission android:name="package.name.permission.MAPS_RECEIVE"/> 

你的包,所以你必須改變那些本:

<permission 
android:name="com.example.androidgooglemap.permission.MAPS_RECEIVE" 
android:protectionLevel="signature"/> 
<uses-permission android:name="com.example.androidgooglemap.permission.MAPS_RECEIVE"/> 

當然,正如已經建議改變MapFragmentSupportMapFragment因爲你是支持低版本的設備。

0
地圖中的片段使用

android:name="com.google.android.gms.maps.SupportMapFragment" 

因爲你有一個較低的API支持:

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