2014-02-16 49 views
-1

我一直在試圖按照下面的鏈接教程,所以要在Android應用程序中使用谷歌地圖API,但我無法設法讓它正常工作。我檢查了這個網站和其他人。我已經多次要求一個新的API密鑰,我已經確認它是正確請求的(SHA1指紋,然後是我的項目名稱,在本例中爲「com.example.reallystuck」)。我也確定代碼是正確的,但仍然無法正常工作,如下圖所示,我只是在Android模擬器上加載它時收到錯誤「不幸GoogleMaps V2已停止」。谷歌地圖API不能在Android中工作

如果我有任何錯誤的代碼或做了一些愚蠢的事情,我不介意人們指出我。我只是想讓它工作。

Tutorial I have used

On open app error screenshot

代碼:

MainActivity.java

package com.example.reallystuck; 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.MapFragment; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.Marker; 
import com.google.android.gms.maps.model.MarkerOptions; 
public class MainActivity extends Activity {  
private GoogleMap mMap;   
@Override  
protected void onCreate(Bundle savedInstanceState) {   
super.onCreate(savedInstanceState);   
setContentView(R.layout.activity_main);    
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();   
mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);   
final LatLng CIU = new LatLng(35.21843892856462, 33.41662287712097);   
Marker ciu = mMap.addMarker(new MarkerOptions()         
.position(CIU).title("My Office"));  
}  
@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;  } } 

的Android的Manifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.reallystuck" 
    android:versionCode="1" 
    android:versionName="1.0" > 
    <uses-sdk 
     android:minSdkVersion="11" 
     android:targetSdkVersion="18" /> 
     <permission 
     android:name="com.example.reallystuck.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature"></permission> 
    <uses-permission 
     android:name="com.example.reallystuck.permission.MAPS_RECEIVE"/> 
    <uses-permission 
     android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
    <uses-permission 
     android:name="android.permission.INTERNET"/> 
    <uses-permission 
     android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <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" > 
      <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="REMOVED KEY"/> 
     <activity 
      android:name="com.example.reallystuck.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> 
    </application> 
</manifest> 

activity_main.xml中

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"  
xmlns:tools="http://schemas.android.com/tools"  
android:layout_width="match_parent"  
android:layout_height="match_parent"  
android:paddingBottom="@dimen/activity_vertical_margin"  
android:paddingLeft="@dimen/activity_horizontal_margin"  
android:paddingRight="@dimen/activity_horizontal_margin"  
android:paddingTop="@dimen/activity_vertical_margin"  
tools:context=".MainActivity" > 
<TextView   
android:layout_width="wrap_content"   
android:layout_height="wrap_content"   
android:text="@string/hello_world" /> 
<fragment 
     android:id="@+id/map"  
     android:layout_width="match_parent"   
     android:layout_height="match_parent"   
class="com.google.android.gms.maps.MapFragment"/> 
</RelativeLayout> 

鏈接到logcat的文件: http://www.mediafire.com/view/1z75u6xmz97bz6z/log.txt

+2

請發表您的logcat,它會顯示出到底是什麼問題。 –

+0

鏈接到logcat: http://www.mediafire.com/view/1z75u6xmz97bz6z/log.txt – user3317169

+0

我看到了該線程,並嘗試修復。仍然不起作用。所以不是重複的 – user3317169

回答

0

本教程不完整。您應該添加以下行到< application>元素:

<meta-data 
    android:name="com.google.android.gms.version" 
    android:value="@integer/google_play_services_version" /> 

請參考official documentation

+0

當我這樣做的錯誤仍然發生(如截圖) – user3317169

+1

好吧,logcat是相當清楚的問題...如果你添加這些行,你會得到什麼錯誤? – user2340612

+0

是的。我找不到其他的東西,我還沒有做過。添加這些行後,我得到相同的錯誤。 – user3317169