2011-07-01 23 views
18

solo estoy siguiendo un tutorial de mapa simple http://developer.android.com/resources/tutorials/views/hello-mapview.html pero obtengo este error. Soy nuevo en Android, traté de seguir toda la solución provista en Internet pero aún no tuve éxito. Por favor, ayúdame. Mi .xml principal está por debajoError al inflar la clase com.google.android.maps.MapView

<?xml version="1.0" encoding="utf-8"?> 
<com.google.android.maps.MapView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/mapview" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:clickable="true" 
    android:apiKey="***" 
/> 

y manifest es este

+0

¿Dónde está el archivo principal y el archivo de manifiesto? – Vijaya

+0

¿Qué error está obteniendo exactamente? – Felix

+0

exponer claramente el mensaje de error para que las personas puedan ayudarlo – Lavanya

Respuesta

1

El emulador en el que está ejecutando la aplicación no tiene Google Map frasco. para crear emulador desde Google API ejecutar su aplicación allí.

ver la imagen a crear emulador con la API de Google

enter image description here

12

Quizás quiso extender la clase principal como MapActivity?

public class a extends MapActivity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 

    @Override 
    protected boolean isRouteDisplayed() { 
     // TODO Auto-generated method stub 
     return false; 
    } 
} 
51

he tenido este problema y lo resolvió por los 2 pasos siguientes:

1) ponga la siguiente línea en el elemento aplicación (importante) del archivo AndroidManifest.xml.

<uses-library android:name="com.google.android.maps" /> 

2) extienden MapActivity en lugar de Actividad.

¡diviértase!

+2

Estúpido Olvidé extender la mapactividad – Warpzit

+0

Nota: MapActivity ha quedado en desuso.Hoy en día, necesitamos usar un MapFragment (o SupportMapFragment) en su lugar. – gMale

1

Insertar esto en su declaración XML del MapView

xmlns:android="http://schemas.android.com/apk/res/android" 
5

que tenía el mismo problema y cerca de 3 horas de buscar este es lo que hice para solucionarlo, Todo en el manifiesto.

1) En mi manifiesta este código no estaba en el lugar correcto

<uses-library android:name="com.google.android.maps" /> 

debería estar aquí, bajo

<application> 

como esto

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.package.name"> 
     ... 
     <application android:name="MyApplication" > 
     <uses-library android:name="com.google.android.maps" /> 
     ... 
     </application> 
     ... 
    </manifest> 

2) He perdido un punto en algún lugar de mi manifiesto

<activity 
     android:name="MyClass" //*****should be android:name=".MyClass"*** 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MyClass /> 

      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

3) que no especificó la versión SDK min, que pasa por debajo de

<manifest> 

código:

<uses-sdk android:minSdkVersion="7" /> 

4) para obtener el mapa de trabajar a través del eclipse en modo de depuración, siga estas instrucciones en el cmd o terminal http://www.buzztouch.com/resources/Obtaining_a_Google_Maps_API_Key_v1.0.pdf

espero que esto ayude a alguien

1

para trabajar con los mapas de Google, además de utilizar la etiqueta

<uses-library android:name="com.google.android.maps" /> 

en la etiqueta, utilice otra etiqueta

<uses-permission android:name="android.permission.INTERNET"/> 

dentro de la etiqueta y ya está.

Pero recuerde que debe ejecutar esta aplicación en la AVD compatible con la API de Google Inc. pero no con la API de Android.

Otra cosa importante es asegurarse de estar utilizando la clave de API MD5 en lugar de SHA1 o cualquier otra clave de API de protocolo.

3

Tuve el problema. Simplemente extienda MapActivity en lugar de Activity.

1

Sé que el siguiente no fue el error del autor de la pregunta original, pero como mi problema generó el mismo mensaje de error, pensé que podría agregarlo en caso de que alguien en el futuro se encuentre con él.

Revisé todos los otros buenos consejos, pero ninguno de ellos faltaba en mi proyecto.

Lo que finalmente resolvió el problema para mí, fue que olvidé declarar el MapView en el diseño, incluido el nombre completo del paquete. Ni Eclipse ni pelusa me dijeron acerca de esto:

<com.google.android.maps.MapView 
    ... 
    /> 
+0

Tu publicación me ayudó mucho Muchas gracias –

0

Uno tiene esta excepción, incluso si todos los pasos mencionados anteriormente son seguidos pero api-clave no se especifica para el MapView. Solo agregue el api-key which you got from google

<com.google.android.maps.MapView 
     android:id="@+id/mapview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:clickable="true" 
     android:apiKey = "api-key_goes_here" 
    > 
Cuestiones relacionadas