2013-04-25 4 views
0

Я хочу сделать приложение Google Map, но я получаю Force close error. Я уже добавил все разрешения и сервисы Google play и т. Д. Я также создал конкретный AVD для этого, но все же я получаю ошибку Force Close ... Поэтому, пожалуйста, помогите мне ....... :-)Android map API V2 Force Закрыть

Это мой файл 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.

<?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 output please – Analizer

+0

@Amit jayaswal - Вы тестируете свой код в реальном устройстве или эмуляторе? – TheFlash

ответ

1

используется дважды:

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

Попробуйте использовать:

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

Кроме того, вы не можете проверить Google Map API V2 на Android эмулятора: http://developer.android.com/google/play-services/setup.html

Примечание: Служба 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"/>

Он работал для меня ,