Sé que esto es un duplicado de la pregunta, pero las soluciones de la anterior post no trabajó para
me. Es por eso que estoy haciendo esta pregunta.

Estoy tratando de implementar el Mapa de Google V2, en la Aplicación de Android, me metí debajo de error

06-26 19:24:51.035: E/AndroidRuntime(7679): FATAL EXCEPTION: main
06-26 19:24:51.035: E/AndroidRuntime(7679): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.titutorial.mapdemo/com.titutorial.mapdemo.MainActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class fragment
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.app.ActivityThread.access$600(ActivityThread.java:140)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.os.Looper.loop(Looper.java:137)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.app.ActivityThread.main(ActivityThread.java:4898)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at java.lang.reflect.Method.invokeNative(Native Method)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at java.lang.reflect.Method.invoke(Method.java:511)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at dalvik.system.NativeStart.main(Native Method)
06-26 19:24:51.035: E/AndroidRuntime(7679): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class fragment
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:308)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.app.Activity.setContentView(Activity.java:1924)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at com.titutorial.mapdemo.MainActivity.onCreate(MainActivity.java:12)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.app.Activity.performCreate(Activity.java:5206)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064)
06-26 19:24:51.035: E/AndroidRuntime(7679):     ... 11 more
06-26 19:24:51.035: E/AndroidRuntime(7679): Caused by: android.app.Fragment$InstantiationException: Unable to instantiate fragment com.google.android.gms.maps.MapFragment: make sure class name exists, is public, and has an empty constructor that is public
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.app.Fragment.instantiate(Fragment.java:584)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.app.Fragment.instantiate(Fragment.java:552)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.app.Activity.onCreateView(Activity.java:4849)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
06-26 19:24:51.035: E/AndroidRuntime(7679):     ... 20 more
06-26 19:24:51.035: E/AndroidRuntime(7679): Caused by: java.lang.ClassNotFoundException: com.google.android.gms.maps.MapFragment
06-26 19:24:51.035: E/AndroidRuntime(7679):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
06-26 19:24:51.035: E/AndroidRuntime(7679):     at android.app.Fragment.instantiate(Fragment.java:574)
06-26 19:24:51.035: E/AndroidRuntime(7679):     ... 23 more

He seguido a continuación del tutorial,

https://developers.google.com/maps/documentation/android/start#installing_the_google_maps_android_v2_api

Hice a continuación las cosas

  1. De instalar Google Play services
  2. Creado una nueva aplicación en Google de la Consola, y obtuvo un Mapa de Google API key
  3. Creado una nueva aplicación en eclipse y añadido el permiso y el Mapa de Google API key en AndroidManifest.xml
  4. Añadido Google Play Servicios de la biblioteca a la Aplicación
  5. Agregar un Mapa a la Aplicación (main.xml)
  6. Conjunto dirigido API de nivel 17

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

aquí está mi código fuente completo
https://github.com/railskarthi/MapDemo

4 Comentarios

  1. 9

    Después de la API de 11+, creo que ahora se tienen que reemplazar su MapFragment por SupportMapFragment. Sería algo así como:

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

    Echar un vistazo aquí para más información. Déjame saber cómo vas con.

    • Yugi, hice dos cambios 1)extendido mi MainActivity de FragmentActivity en lugar de la Actividad 2)en main.xml cambió de a <fragmento xmlns:android=»schemas.android.com/apk/res/android» android:id=»@+id/mapa de» android:layout_width=»match_parent» android:layout_height=»match_parent» class=»com.google.android.gms.mapas.SupportMapFragment»/> Ahora el mapa es de trabajo, pero ahora quiero agregar vista de Mapa en el esquema Lineal. ¿Cómo puedo conseguirlo?(porque aquí se extiende desde FragmentActivity)
    • Agregar su código anterior dentro de un LinearLayout en su main.xml
    • Yugi, Su solución la sustitución de MapFragment por SupportMapFragment, sólo trabajó en el ambiente de Windows. Pero en Mac OSX, todavía estoy recibiendo el Error inflar clase fragmento de error. Debo hacer algo diferente para Mac OSX?
    • Yugi, hice algún error en la adición de Google Play Servicios de la biblioteca a la Aplicación, ahora es funciona bien en ambos Viudas y Mac. Gracias por tu respuesta.
    • lo que si he añadido una costumbre fragmento de mi propio lugar de los mapas. ¿Cómo puedo hacerlo
  2. 1

    Tengo que descargar tu proyecto de git y después de comprobar que he encontrado que se ha perdido una línea que es necesario para ver Fragmento de mapa.

    Reemplazar su código de actividad principal con el siguiente código:-

    public class MainActivity extends FragmentActivity {
    private GoogleMap map;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
    .getMap();
    }
  3. 0

    Por favor, agregue estas líneas en el archivo de manifiesto

         <meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
    <!-- Goolge API Key -->
    <meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="your Goolge API key" />

Dejar respuesta

Please enter your comment!
Please enter your name here