usar una the that studio para necesitas mapview google generar example ensure enabled ejemplo create clon clave android google-maps-android-api-2

android - una - Google Map API v2 no muestra Map en el dispositivo



google maps api key android (5)

Estoy ejecutando el código de muestra que se proporciona en la documentación de Google Map para Google Map Api v2 ( https://developers.google.com/maps/documentation/android/start#specify_settings_in_the_application_manifest ).

El código se ejecuta correctamente pero el mapa no se carga en el dispositivo. Sólo la pantalla blanca se muestra en el dispositivo. Estoy usando la versión 4.0.3 del dispositivo Android.

1) He habilitado el servicio para el proyecto.

2) Clave generada:

3) "google-play-services_lib" como biblioteca en el proyecto:

4) Manifiesto de Android:

<?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-feature android:glEsVersion="0x00020000" android:required="true" /> <permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyCvZrhQ8YBfyYBvTic3DSdu2O06nAmhpg4" /> <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>

5) Actividad:

package com.example.mapdemo; import android.app.Activity; import android.os.Bundle; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } }

6) Diseño:

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


Lo más probable es que su problema se resuelva cuando se asegure de lo siguiente:

  1. Activar la API de Google Map

  2. Use el nombre del paquete correcto al generar la Clave de API (en mi caso, este fue el error) ... y esto parece ser un problema para su caso, ya que el nombre del paquete parece ser incorrecto (com.example.mapdemo)

  3. Asegúrese de que está utilizando el archivo de almacén de claves correcto para generar el SHA1

Esperamos que esto sea útil.


Para mantener la seguridad del sistema y los usuarios, Android requiere que las aplicaciones soliciten permiso antes de que las aplicaciones puedan usar ciertos datos y características del sistema. Dependiendo de cuán sensible sea el área, el sistema puede otorgar el permiso automáticamente o puede solicitar al usuario que apruebe la solicitud.

https://developer.android.com/guide/topics/permissions/index.html


Puede ser este problema con la clave API o simplemente verifica su huella dactilar SHA1 en la consola api de su proyecto ( https://console.developers.google.com/project ) y su eclipse Windows -> Preferencias -> Android -> Compilación son iguales, de otra manera solo actualice el SHA1 desde la consola para construir la ruta o viceversa.


Usar actividad de fragmentos

p.ej:

public class Maps extends FragmentActivity { GoogleMap map; double lat; double lan; boolean flag = false; // private LocationManager lm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mapptry); map = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map)).getMap(); } }

Cambie ur map.xml a

<fragment android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="wrap_content" android:layout_height="match_parent" />

EDITAR

Tengo que hacer esto tambien

importar android.support.v4.app.FragmentActivity;

Antes de hacer esto, haga clic con el botón derecho en proyecto-> propiedades-> ruta de compilación-> ruta de compilación java -> bibliotecas ... luego haga clic en agregar archivos externos

el ir a

usuario / android-sdks / extras / android / support / v4

y seleccione android-support-v4.jar

PD: Haz todo esto siempre que tu clave API sea correcta. Si la clave de API es incorrecta, entonces también muestra solo una pantalla blanca


intenta agregar

GoogleMap googleMap = ((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();

y reemplaza tu xml con

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

ha agregado el siguiente código fuera de la etiqueta de la aplicación en lugar de ponerlo dentro de la etiqueta

<uses-feature android:glEsVersion="0x00020000" android:required="true" /> <permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" android:protectionLevel="signature" />

Espero que esto pueda ayudar a alguien que se enfrenta al mismo problema.