that - google maps android example
Google maps v2: fallo de autorización (8)
Fallo de autorización. Consulte https://developers.google.com/maps/documentation/android/start para ver cómo configurar correctamente el mapa.
Asegúrese de que lo siguiente corresponda con lo que se encuentra en la Consola de API: Nombre del paquete: com.company.app
, Clave de API: AIzaSyC***OsTeo
, Huella digital del certificado: 4E5285***6BF53ED3
Error al comunicarse con los servidores de Google. Se hará otro intento cuando se establezca la conectividad.
Error al cargar el mapa. Error al contactar con los servidores de Google. Este es probablemente un problema de autenticación (pero podría deberse a errores de red).
Sé que hay más que suficientes preguntas sobre este tema. Pero parece que no consigo que la vista de mapas funcione. El resultado es una vista de mapas vacía (con botones de zoom).
Qué he hecho:
- Descargar / instalar google-play-services
- Añadido google-play-services.jar
a libs/
- Habilitado Google Maps API v2
en code.google.com/apis/console
- Configurar los permisos correctos.
Así es como se ve mi manifiesto:
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<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" />
<permission
android:name="com.company.app.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.company.app.permission.MAPS_RECEIVE" />
<application ...>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyC***OsTeo" />
</application>
El acceso a la API de la consola API de Google se ve así:
Key for Android apps (with certificates)
API key: AIzaSyC***OsTeo
Android apps: 4E:52:85:***6B:F5:3E:D3;com.company.app
Activated on: Jun 18, 2013 11:07 PM
Activated by: [email protected] – you
Y algún código (que no puedo ver por qué esto daría lugar a un error de autorización):
FragmentManager fragmentManager = super.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
SupportMapFragment fragment = new SupportMapFragment();
fragmentTransaction.replace(R.id.mapContainer, fragment);
fragmentTransaction.commit();
Como puede ver, recibo un error que dice que el nombre del paquete, la clave api y la huella digital del certificado no se corresponden con los servidores de Google. Pero como estoy escribiendo arriba, esos valores coinciden ...
Active el servicio Google Maps Android API v2
en la Google API''s console
. Además, después de realizar cambios, realice una reinstalación completa de la aplicación en el dispositivo / emulador.
Asegúrese de lo siguiente:
https://code.google.com/apis/console/?noredirect
Click on Services(Left side panel) -> Enable Google Maps Android API v2
Para obtener su clave SHA1 puede usar: el siguiente comando Este comando generará el almacén de claves
keytool -genkey -v -keystore GoogleMapV2.keystore -alias GoogleMapV2 -keyalg RSA - keysize 2048 -validity 10000
Este comando da la clave SHA1 y otra información
keytool -list -v -keystore ~/path/to/GoogleMapV2.keystore -alias GoogleMapV2 -storepass any-password -keypass any-password i.e :
68:1C:74:24:7B:1F:9C:71:76:DD:69:4F:F2:8F
: Sus claves dentro de la etiqueta <application> </application>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="YOUR KEY" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Permiso fuera de la etiqueta <application> </application>
, en la parte superior
<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" />
<!--
The following two permissions are not required to use
Google Maps Android API v2, but are recommended.
-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
NOTA: No ejecute la aplicación utilizando Eclipse o emulador, ejecútelo en un dispositivo real creando un apk que no use eclipse, ya que la clave de depuración sería incorrecta.
VkJ
Asegúrese de que el nombre de su paquete esté escrito correctamente en la consola de desarrollador de Google / credenciales / nombre del paquete. Debe ser el nombre del paquete superior de su aplicación, por ejemplo. com.company.appname no com.company.appname.ui.activity.maps. Seguí las instrucciones de https://developers.google.com/maps/documentation/android/start pero creé la Actividad en un paquete anidado. La página web de Google ingresó el nombre del paquete anidado y tuve este error.
Cuando configura su clave API, el nombre del paquete es el valor del atributo del package
en su manifest
, no el nombre de la aplicación.
Esto ( com.foo
):
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.foo"
No esto ( com.foo.MyApplication
):
<application
android:name="com.foo.MyApplication"
No tengo evidencia de esto aparte de mi observación, pero parece que puede tomar algunos minutos antes de que la clave API esté activa una vez que esté configurada.
¡Un poco de paciencia pareció funcionar para mí!
Para hacerlo claro . Si la actividad del Mapa se muestra sin error al depurar su aplicación en el sdk de Android, pero no muestra nada y le da este error cuando instala la aplicación:
07-02 03: 18: 36.467 25914-26028 /? E / Google Maps API de Android: error de autorización. Consulte https://developers.google.com/maps/documentation/android-api/start para saber cómo configurar correctamente el mapa. 07-02 03: 18: 36.470 25914-26028 /? E / API de Android de Google Maps: en la Consola de desarrollador de Google ( https://console.developers.google.com ) Asegúrese de que la "API de Android de Google Maps v2" esté habilitada. Asegúrese de que exista la siguiente clave de Android: Clave de la API: aplicación de Android YOUR_KEY_HERE (;):
La solución será: colocar su clave en: / app / src / release / res / values / google_maps_api.xml
como diid en: / app / src / debug / res / values / google_maps_api.xml
como se menciona here
Para mí, ayúdeme con esto, si es simple: cuando trabaja desde Android Studio, escribe su clave API de Google en el archivo google_maps_api.xml, pero Android Studio le muestra solo el archivo clave para la versión (depuración) en Project Manager. Necesitas colocar tu llave en
/ app / src / release / res / values / google_maps_api.xml
archivo también (como usted coloca en su lugar su clave en
/ app / src / debug / res / values / google_maps_api.xml
)
Tuve el mismo problema, pero había activado la api correcta. El problema fue que usé el archivo de almacén de claves incorrecto al obtener mi SHA1. Usé el almacén de claves de lanzamiento, en lugar de eso necesité usar:
keytool -list -v -keystore debug.keystore
en este archivo (ubicación mac osX):
~/.android/debug.keystore
Eso me dio otro sha1 que ingresé en la consola de Google, y ahora funciona.