you referernotallowedmaperror página purposes puede own only missingkeymaperror google for esta error development correctamente cargar cargado apinotactivatedmaperror android android-maps

android - referernotallowedmaperror - google maps javascript api error: apinotactivatedmaperror



Google Maps API V2 ''Error al cargar mapa. No se pudo contactar con los Servidores de Google (10)

He verificado y comprobado dos veces mi APIkey que registré en la Consola de Google, sin embargo, sigo recibiendo el siguiente error:

12-05 16:31:12.940: E/Google Maps Android API(12334): Failed to load map. Could not contact Google servers.

Lo que estoy viendo son los botones de acercar / alejar y el fondo para el MapView pero no Map ??? !!!

¿¿¿Algunas ideas???

Responder

Lo publicaré aquí porque lo que resolvió mi problema fue expresado en los comentarios de la respuesta aceptada a continuación.

Era el permiso READ_GSERVICES . Por alguna razón, el permiso no se mencionó en el sitio del desarrollador cuando se trataba de usarlos.


Asegúrese de que todos los puntos mencionados a continuación sean cuidados:

1) Se habilitó el servicio incorrecto. Asegúrese de que la " API v2 de Google Maps Android ", no " API v2 de Google Maps " esté habilitada y vuelva a generar la clave API.

2) Agregue los siguientes elementos a su manifiesto. Reemplace com.example.mapdemo con el nombre del paquete de su aplicación.

3) Uso del certificado y clave correctos. Release certificate, que NO FUNCIONARÁ durante la depuración cuando ejecutas la aplicación en mi teléfono. En su lugar, debe usar la huella digital del certificado de depuración del almacén de claves.


Después de pasar muchas horas, el problema finalmente se resolvió:

Si ninguno de los anteriores te ayudó a resolver tu problema, intenta poner tu clave de API en values ​​/ strings.xml

<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="@string/map_key"/> <?xml version="1.0" encoding="utf-8"?> <resources> <string name="map_key">YOUR_KEY</string> </resources>


Es posible que haya habilitado el servicio incorrecto "Google Maps Android API v2", no "Google Maps API v2"


Estaba enfrentando el mismo problema; pero para mí era un problema del almacén de claves. Lo estaba firmando con el depósito de claves de depuración, por lo tanto, el mapa de Google api v2 no podía conectarse al mapa de Google.

Creé una nueva clave de API usando my-release-keystore.keystore (puede encontrarla en C:/Users/{YOUR_USER_NAME}/.android/my-release-key.keystor e) generar SHA1 usando keytool disponible en JDK; cópielo y regístrese con la consola de google.

Use la clave api generada en su archivo de manifiesto de aplicaciones. Firma con my-release-key.keystore lo empujará en el dispositivo.


Hice todo lo que se requería para lograr esta tarea. Mi clave, manifiesto, código, etc. estaban bien. Pero, al final, después de perder mucho tiempo, el almacén de claves de depuración que estaba usando era el incorrecto. Se trata de la huella digital SHA1 después de todo.


Para configurar Google Maps API v2 en Android, asegúrese de haber completado todos los pasos siguientes.

Clave de la aplicación para acceso API

Cuando Google solicita la huella digital SHA1 de su certificado de aplicación, lo más probable es que desee ejecutar esto dos veces, una para su certificado de depuración y otra para su certificado de publicación.

keytool -list -v -keystore publishcert.keystore
keytool -list -v -keystore ~ ​​/ .android / debug.keystore

¡La huella digital de la aplicación en el mercado es diferente a la huella digital de una aplicación que acaba de probar!

Habilite el servicio en la consola API de Google

Inicie sesión en la consola API de Google .
En la página de servicios, encuentre Google Maps Android API v2 .

Nota : la Google Maps API v2 es DIFERENTE y la Google Maps Android API v2

En la pestaña Acceso a la API, haz clic en Create new Android Key

Agregue sus firmas de certificados para acceder a las API.

yourrelease-fingerprint; com.example.project.package
yourdebug-huella digital; com.example.project.package

Se le proporcionará una clave de acceso de API generada.

Es posible que primero deba crear un Proyecto API en la consola API

Enmendar el Manifiesto de la aplicación

Agregue su clave API, dentro del elemento <application> .

<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="yourapikey"/>

Agregue los siguientes permisos:

<permission android:name="com.example.project.package.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> <uses-permission android:name="com.example.project.package.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"/>

Agregue la siguiente solicitud de función:

<uses-feature android:glEsVersion="0x00020000" android:required="true" />


Podría ser un problema con el Manifiesto. Lo siguiente funciona para mí, específicamente permission.MAPS_RECEIVE resolvió un problema similar que tuve: se muestran los botones de zoom y myLocation, pero el mapa no tenía mosaicos ...

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.discos2.example" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <permission android:name="com.discos2.example.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.discos2.example.permission.MAPS_RECEIVE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-feature android:name="android.hardware.location" android:required="false" /> <uses-feature android:name="android.hardware.location.network" android:required="false" /> <uses-feature android:name="android.hardware.location.gps" /> <uses-feature android:name="android.hardware.wifi" android:required="false" /> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <application android:hardwareAccelerated="true"> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="__NEW_GOOGLE_MAPS_V2_KEY_GOES_HERE__" /> <activity android:name=".ui.activities.MainActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>


Por cierto, estoy ejecutando Windows 7. Me preocupé por esto durante días, hasta que descubrí lo siguiente: Tengo más de un debug.keystore. Uno está en:

C:/android-sdk/.android/debug.keystore

Y hay otro, en:

C:/Users/David/.android/debug.keystore

Una vez que encontré el "C: / Users / David.android / debug.keystore" lo hice:

keytool -list -alias androiddebugkey -keystore C:/Users/David/.android/debug.keystore -storepass android -keypass android -v

Envié el SHA1 resultante a la consola de google y obtuve una clave API que funciona. Obtener el SHA1 del almacén de claves en "C: / android-sdk.android / debug.keystore" no funciona.


Simplemente cree una nueva clave de API con SHA y lo más importante, corrija el nombre del paquete (como com.example.mapdemo). Use la nueva clave generada en su AndroidManifest.xml .

Supongo que necesitamos una nueva clave API para todos los nuevos proyectos de eclipse que utilizan mapas de Google (ya que la creación de una nueva clave también requiere el nombre del paquete, que es esencialmente diferente para todos los proyectos).


Yo tuve el mismo problema. Simplemente me perdí este punto: cuando enumeras tus servicios API de Google, hay tres API de Google Maps disponibles.

Google Maps Android API v2
Google Maps API v2
Google Maps API v3 ...

Comprueba que tienes la versión de Android (Google Maps Android API v2) habilitada, cuando codificas para Android. Google Maps API v2 no era lo suficientemente bueno.