2010-01-01 9 views

Respuesta

0

Sólo opinión Hello, MapView:

Asegúrese de haber incluido en AndroidManifest.xml línea de permisos:

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

Además, tienes Google Map API Key?
ponerlo en MapView definición del layout:

<com.google.android.maps.MapView 
    android:id="@+id/mapview" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:clickable="true" 
    android:apiKey="Your Maps API Key" 
/> 

otra mención de error: GGroups - MapView showing as black screen after upgrade to 1.5

14

El ejemplo MapView no establece clave de API por defecto. Entonces debes establecerlo. Aquí es paso a paso:

  1. Obtener MD5 de su sistema

    clave de API
    %JAVA_HOME%\bin\keytool.exe -list -alias androiddebugkey -keystore "%userprofile%\.android\debug.keystore" -storepass android -keypass android 
    
  2. Get pegando el MD5 generados a esta página:
    http://code.google.com/android/maps-api-signup.html

  3. Pegar la API generada clave para {your_project_root} /res/layout/map.xml

    <com.google.android.maps.MapView 
        android:id="@+id/myMapView" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:enabled="true" 
        android:clickable="true" 
        android:apiKey="paste_generated_api_key_here" 
    /> 
    
  4. En AndroidManifest.xml, asegúrese de que tiene la etiqueta folowing en su application etiqueta:

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

    y también la etiqueta folowing en su manifest etiqueta:

    <uses-permission android:name="android.permission.INTERNET" /> 
    
  5. Actualice su proyecto y ejecute

Nota:

  • El camino de keytool.exe, debug.keystore y map.xml puede diferir en su sistema.
  • Si publica su aplicación, asegúrese de registrar otra clave de API.
  • Si no configura la clave de API correctamente, su aplicación fallará en el teléfono y el mensaje de error probablemente sea "... se detuvo inesperadamente. Inténtelo de nuevo.- Fuerza de cierre "

más detalle http://d.android.com/guide/tutorials/views/hello-mapview.html

3

Si ha realizado asegurarse de que tiene INTERNET permiso, y ha generado correctamente clave de API, y se han puesto en android:apiKey, y el mismo error todavía ocurre , aquí hay algo más para comprobar: ¿su aplicación está firmada con el mismo certificado que utilizó para la clave de la API de Maps?

Las herramientas de compilación de Android usan diferentes certificados para compilaciones de depuración y compilación de versiones liberadas. Clave de API para el certificado de versión (la que usa en "E Xport Android Application "wizard para generar .apk), no funcionará en las compilaciones de depuración, y viceversa.

Puede averiguar dónde se encuentra su almacén de claves de depuración en Preferencias de Eclipse> Android> página Generar. Puede generar la suma de comprobación MD5 y la clave API de la misma manera que para su certificado de versión. La contraseña predeterminada para depurar keystore es "android".

Aquí es official docs about debug keystore

2

Una cosa más para comprobar:

que acaba de tener este problema (o más bien, mi problema era que el mapa no estaba mostrando hacia arriba). Revisé el tutorial de vista de mapa y pegué la etiqueta "uses-permission" dentro de la etiqueta de la aplicación por error. Tiene que estar directamente bajo la etiqueta de manifiesto, como esto:

<?xml version="1.0" encoding="utf-8"?> 
<manifest [...]> 
    <uses-sdk [...] /> 
    <uses-permission android:name="android.permission.INTERNET" /> 

    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <uses-library android:name="com.google.android.maps" /> 
    [...] 
    </application> 
</manifest> 

Un error muy simple, pero me tomó un tiempo para encontrar. ¡Espero que esto ayude a alguien más!

+0

.. tenía el mismo problema. Aunque todavía tengo el mensaje de error desde arriba, finalmente veo el mapa que antes no me funcionaba. – Bevor

0

Solo he encontrado este problema en el emulador y he encontrado que la única forma de evitar este error es reiniciar el emulador.

Cuestiones relacionadas