2013-04-25 77 views
0

我想製作一個Google地圖應用,但我收到了強制關閉錯誤。我已經添加了所有權限和谷歌播放服務等。我也爲此創建了特定的AVD,但仍然收到強制關閉錯誤...所以請幫助我........ :-)Android地圖API V2強制關閉

這是我的MainActivity.java文件。

package com.example.mapdemo; 

import com.google.android.gms.common.ConnectionResult; 
import com.google.android.gms.common.GooglePlayServicesUtil; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.SupportMapFragment; 


import android.app.AlertDialog; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.app.FragmentManager; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.Toast; 

public class MainActivity extends FragmentActivity { 

final int RQS_GooglePlayServices = 1; 
private GoogleMap myMap; 

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

    FragmentManager myFragmentManager = getSupportFragmentManager(); 
    SupportMapFragment mySupportMapFragment 
    = (SupportMapFragment)myFragmentManager.findFragmentById(R.id.map); 
    myMap = mySupportMapFragment.getMap(); 


    myMap.setMyLocationEnabled(true); 
} 

} 

這是我的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" 
    tools:context=".MainActivity" > 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     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.SupportMapFragment"/> 

</RelativeLayout> 

這是我的Google_Map Manifest文件。

<?xml version="1.0" encoding="utf-8"?> 

    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.example.mapdemo" 
     android:versionCode="1" 
     android:versionName="1.0" > 

     <uses-sdk 
      android:minSdkVersion="8" 
      android:targetSdkVersion="17" /> 
     <uses-permission android:name="android.permission.INTERNET"/> 
     <uses-permission 
      android:name="com.example.mapdemo.permission.MAPS_RECEIVE"/> 
     <uses-permission 
      android:name="com.example.mapdemo.permission.MAPS_RECEIVE"/> 
     <uses-permission 
      android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"> 

     </uses-permission> 
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

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

      <meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="AIzaSyAjbIPh-1-2yzgbsjWMHHZM8MbD9c6hrbY"/> 
      <activity 
       android:name="com.example.mapdemo.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> 
+2

logcat輸出請 – Analizer 2013-04-25 07:06:42

+0

@Amit jayaswal - 您是在真實設備或模擬器中測試您的代碼嗎? – TheFlash 2013-04-25 07:07:34

回答

1

你用兩次:

<uses-permission 
      android:name="com.example.mapdemo.permission.MAPS_RECEIVE"/> 

嘗試使用: http://developer.android.com/google/play-services/setup.html

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

此外,你不能在Android模擬器測試谷歌地圖API V2

注意:Google Play服務es在Android模擬器上不受支持 - 要使用API​​進行開發,您需要提供開發設備,如Android手機或平板電腦。

您必須在真實設備上測試您的代碼。如果你還沒有任何設備,可以測試這個非官方的解決方案:Running Google Maps v2 on the Android emulator

0

嘗試改變:

class="com.google.android.gms.maps.SupportMapFragment"/>

class="com.google.android.gms.maps.MapFragment"/>

它爲我。