2013-03-25 40 views
0

我對Android上的GoogleMaps(api10)有一些奇怪的麻煩,我想我需要在我的活動屏幕上顯示地圖,但它顯示爲空白(帶有網格和縮放按鈕的灰色空間)。下面是我的AndroidManifest,佈局文件和活動來源。Android空白空間上的谷歌地圖

[更新]我再拍項目只是在地圖

AndroidManifest

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

<uses-sdk 
    android:minSdkVersion="10" 
    android:targetSdkVersion="16" /> 

<permission android:name="your.application.package.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> 
<uses-permission android:name="your.application.package.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-feature 
    android:glEsVersion="0x00020000" 
    android:required="true"/> 

<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="pl.example.mapa.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.maps.v2.API_KEY" 
     android:value="AIzaSyATooww6ZGs80CF_2Zyjc3OMj9igbFNu9k" /> 
</application> 

佈局

<?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" > 

<fragment 
    android:name="com.google.android.gms.maps.SupportMapFragment" 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

mainActivity源

package pl.example.mapa; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 

import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.MapFragment; 

public class MainActivity extends FragmentActivity { 

private GoogleMap gMap; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    //gMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.mapFragment)).getMap(); 
} 
} 

我甘蔗添加日誌跟蹤由於我不能在模擬器

運行它,我敢打賭,它的一些小的覺得我會錯過,但在這一刻所有的搜索後,我不知道whot是錯誤的。

回答

1

您需要將API密鑰添加到您的Manifest文件中。

1)獲取您的API密鑰(良好指示here

2)結束標記之前加入下面的一行到你的清單文件。

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

我發現我的錯誤,我選擇谷歌地圖API V2沒有針對Android :(亡羊補牢之後再也沒有 – Mariusz 2013-09-16 14:06:15

0

它看起來像你使用的是地圖v1,我也有這個問題。新的API(v2)需要將API密鑰存儲在Android清單中並使用不同的庫。當從v1移動到v2時,我發現this教程非常有用。

+0

沃格爾先生得到了GR8 Android的教程,但that1就是爲什麼即時通訊失去 – Mariusz 2013-03-26 09:27:44

0

看起來好像你在混合兩個Google Maps服務的API。大多數情況下,您使用的是API v1,但是此權限是API v2:

<permission 
android:name="pl.mariusz.georeminder.permission.MAPS_RECEIVE" 
android:protectionLevel="signature"/> 
<uses-permission android:name="pl.mariusz.georeminder.permission.MAPS_RECEIVE"/> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 

並且可能是導致您遇到問題的原因之一。

另一方面,我會建議你轉移到API v2,因爲API v1很快就會被棄用(如果它不是已經存在的話),下面是一篇關於如何將Google Map API V2集成到您的應用程序:

Google Maps API V2

+0

我仍然得到空白空間 – Mariusz 2013-03-26 14:23:53

+1

@Mariusz,你會介意用當前的代碼,結果和堆棧跟蹤來更新你的問題......所以我們將得到更多的信息,然後只是:「我仍然得到空白的溫泉CE ......」 – 2013-03-26 14:38:08