Error al cargar el mapa Error al contactar a los servidores de Google. Este es probablemente un problema de autenticación

Busco todos los días y no puedo encontrar la respuesta …

todo está listo, pero el mapa de Google todavía no se puede mostrar en el fragmento con pestaña

Compruebo que ya activo google map android v2 y right API_KEY

¡No tengo idea de que pasó!

img

MainActivity.java:

public class MainActivity extends FragmentActivity implements ActionBar.TabListener { SectionsPagerAdapter mSectionsPagerAdapter; ViewPager mViewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String titles[] = { this.getString(R.string.title_around), this.getString(R.string.title_map), this.getString(R.string.title_favorite), this.getString(R.string.title_achievement), }; final ActionBar actionBar = getActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); mSectionsPagerAdapter = new SectionsPagerAdapter( getSupportFragmentManager()); mViewPager = (ViewPager) findViewById(R.id.pager); mViewPager.setAdapter(mSectionsPagerAdapter); mViewPager .setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { actionBar.setSelectedNavigationItem(position); } }); for (int i = 0; i < titles.length; i++) { actionBar.addTab(actionBar.newTab().setText(titles[i]) .setTabListener(this)); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onTabSelected(Tab tab, FragmentTransaction fragmentTransaction) { mViewPager.setCurrentItem(tab.getPosition()); } @Override public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { } @Override public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { } public class SectionsPagerAdapter extends FragmentPagerAdapter { public SectionsPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { // TODO 在這邊決定哪個位置要給什麼 View(Fragment) Fragment fragment = null; // TODO 建議先在之前就初始化好 4 個 Fragment switch (position) { case 0: fragment = new AroundFragment(); break; case 1: fragment = new MapsFragment(); break; case 2: fragment = new FavoriteFragment(); break; case 3: fragment = new AchievementFragment(); break; default: break; } return fragment; } @Override public int getCount() { return 4; } @Override public CharSequence getPageTitle(int position) { // TODO 在這邊決定每一個 View 的 title switch (position) { case 0: return getString(R.string.title_around); case 1: return getString(R.string.title_map); case 2: return getString(R.string.title_favorite); case 3: return getString(R.string.title_achievement); } return null; } } } 

MapsFragment.java:

 public class MapsFragment extends Fragment{ static final LatLng NKUT = new LatLng(23.979548, 120.696745); private GoogleMap map; SupportMapFragment mMapFragment; public MapsFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.map_fragment,container, false); map = ((SupportMapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap(); mMapFragment = SupportMapFragment.newInstance(); FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); fragmentTransaction.add(R.id.map,mMapFragment); fragmentTransaction.commit(); return rootView; } } 

Map_fragment.xml

    

Manifest.xml:

               

Solución:

¡Encontré la solución!

Si usa keystore privado para aplicar API_KEY. No puede cargar e instalar la aplicación con eclipse.

¡Debe cargar el archivo .apk en su dispositivo e instalarlo!

Gracias Tarsem y srikanth gr ayuda !!

Parece que tienes un problema con tu API_KEY que se obtiene de Google API Access , así que verifica tu API_KEY , las huellas dactilares de los certificados y el nombre del paquete.

también use esto dentro de

   

y también verificar: debe estar dentro de la etiqueta


PD.

1. También intente agregando el siguiente permiso

  

2. After changing API key en AndroidManifest.xml debe Clear Application Data

Para borrar datos de la aplicación:

Vaya a Settings>Application Manager>Select Your Application > Click on Clear Data

¡O Must Uninstall The Application antes de installing it ! Nota No Re-install menos que Completely Uninstall the Application para clear its Data completely

Pasé tanto tiempo, hay demasiadas preguntas similares.

Intenté agregar mi propio permiso, el permiso WIFI_STATE, pero el problema real estaba en los datos de la aplicación.

Después de cambiar la clave de la API en manifiesto, DEBE “Borrar datos” de su aplicación (o reinstalarla por completo).

Esto me ayuda y espero que esta publicación ayude a alguien.

Mi problema fue resuelto agregando permiso al manifiesto:

  

Tengo el mismo problema, y ​​mi problema fue que no activé el servicio en la consola:

  1. Vaya a la consola: https://code.google.com/apis/console/
  2. Ir a la sección de servicios
  3. Habilitar Android API de Google Maps v2
  4. Sigue todos los pasos en la documentacion

Si tienes un problema con la autenticación, marca Logcat el nombre de tu paquete. Si usa Android Studio, consulte su build.gradle . Cuando el archivo contiene applicationIdSuffix '.dev' . Debería agregar .dev al nombre de su paquete.

El nombre del paquete ei es:

com.company.main

En la consola de API escribe

… 9S.ME.DA.FE; com.company.main.dev

Después de hacer todo lo que la gente decía, como verificar mi manifiesto, agregar permisos, crear una nueva clave con el sha1 en eclipse, etc. y todavía no funcionaba, lo hice:

 adb uninstall com.example.hellomap 

y luego corriendo a través del eclipse nuevamente. Parecía que el dispositivo no estaba obteniendo datos completamente nuevos. Espero que esto ayude.

Pude usar la clave de depuración y cargar desde eclipse. Me faltaba el siguiente permiso en mi AndroidManifest.xml

 uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" 

Después de revisar una gran cantidad de casos y ejecutar con éxito los mapas, estas cosas son importantes para tener en cuenta:

  • Utilice Android api 17, emulador de stand y proyecto
  • Referencia los servicios de google
  • Usa el soporte de Android si es necesario
  • Utilice el siguiente orden en las bibliotecas: src, gen, google apis, soporte android, dependencias y bibliotecas privadas
  • Usa una clave api correcta
  • Borrar datos, reinstalar la aplicación.

Había configurado muchos servicios, incluido Google Maps API v2 (no Google Maps Android API v2), que era conflictivo. Después de eliminar el servicio no deseado y generar una nueva clave, incluido en el manifiesto, instalación limpia, apareció el mapa en el dispositivo.

He solucionado el problema dando el permiso en el manifiesto

  

Estaba enfrentando el mismo problema en Android Studio. Los mapas de Google no se mostrarían cuando estén conectados al depurador de Android.

Lo arreglé agregando la huella digital SHA1 para el almacén de claves de depuración ubicado en ~/.android/debug.keystore . Creo que este almacén de claves se genera por defecto (aunque no estoy seguro).

El siguiente comando en Terminal funcionó para obtener la huella digital SHA1:

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

Cuando solicite una contraseña, no escriba nada, solo presione intro. (Funcionó en mi caso)

Agregue esta huella digital a su clave API para aplicaciones de Android en la consola de desarrollador.

¡Aclamaciones!

En mi caso, lo que funcionó es que tuve que instalarlo a través de la línea de comandos:

adb install /path/to/app/MyApp.apk

Todo lo que tienes que hacer es: usar la clave de depuración en tu código; desinstalar la aplicación; instala la nueva aplicación con la clave de depuración.

En caso de que, si nada (arriba indicado) funciona, existe una buena posibilidad de que esté utilizando el archivo de depuración incorrecto para generar la huella dactilar. Si tiene varios archivos debug.keystore en su máquina, asegúrese de estar utilizando el debug.keystore correcto para generar la huella digital SHA1.

Muchos de estos me ayudaron, pero el problema principal fue que no tenía la firma correcta. Estoy usando Xamarin y, por lo tanto, no está integrado en el IDE, así que cuando generaba la clave usando keytool, nunca entraba en la aplicación. Tuve que agregar lo siguiente en mi archivo .csproj:

  True maps.keystore android androiddebugkey android  

El error para mí fue que estaba ejecutando la configuración de depuración cuando acabo de agregar la configuración de lanzamiento a Google Developers Console. Entonces, seguí estos pasos:

  1. Obtenga el sha1 para su almacén de claves de depuración usando:

    keytool -list -v -keystore ~ ​​/ .android / debug.keystore -alias androiddebugkey -storepass android -keypass android

  2. Vaya a https://console.developers.google.com y agregue el paquete sha1 +.

  3. Agregue su API_KEY a su archivo AndroidManifest.xml.

En IntelliJ .. si está seguro de que su clave SHA1 es correcta, no falta la API key ,

Permission y cualquier configuración en Manifest es correcto.

Tal vez tenga que hacer clic derecho en su Google-Play-Services-lib y comstackrlo de nuevo

He hecho todas las cosas y esto funciona bien para mí.

Mi error más extraño que he hecho hasta ahora fue obtener el código SHA1 de debug.keystore.

Pensé que no tenía contraseña, pero la contraseña era android

No estoy seguro si ayuda a alguien, pero me ayudó. Además, use un nombre de paquete completo, puede encontrarlo en el archivo de código fuente de Java. Por ejemplo, existe el mío: com.example.erikas.mapsdemo (se parece a: package com.example.erikas.mapsdemo;)

Entonces, cuando intente obtener una clave API, use una entrada como esta:

 XX:XX:XX:XX:XX:17:C9:22:BB:BD:7C:87:12:83:2D:XX:XX:XX:XX:XX;com.example.erikas.mapsdemo 

Así que mi propio error fue un código SHA1 incorrecto y un paquete incorrecto. Pero, afortunadamente, ¡lo descubrí después de 2 días de dolor de cabeza! :RE

Al depurar, necesitaba agregar una clave API adicional para ~/.android/debug.keystore

¿Este almacén de claves está configurado automáticamente para usted y la contraseña es “android”?

Me enfrenté al mismo problema. Tengo una solución para esto, traté de crear la clave de API de depuración de diferentes cuentas de Google con el mismo nombre de paquete. Paso para eliminar el error: 1. Elimine la clave de la API no deseada con el mismo nombre de paquete en diferentes cuentas de Google. 2. Por favor, mantenga la generación de la clave Api en una sola cuenta para resolver este problema. Gracias. Prueba esto.

Estuve atascado en esta pregunta durante aproximadamente una semana. Entonces comencé a usar un dispositivo real. Pero un día trato de configurar el almacén de claves de depuración de Custon (Eclipse, Ventana -> Preferencias -> Android -> Crear -> depuración de claves de Cusom) al mismo valor predeterminado. Y todos se vuelven a trabajar. Por supuesto, primero tengo una clave en la consola de Google.

Espero que esto ayude!

Estaba enfrentando el mismo problema. He intentado varias soluciones, ninguna funcionó para mí. Lo que funcionó para mí fue generar una nueva clave API y LIMPIAR los datos del servicio Google Play en mi dispositivo.

Lista de verificación: 1. Verifique el permiso en el Manifiesto de Android para READ_GSERVICES

  1. Borre los datos de la aplicación si ha realizado algunos cambios en el manifiesto.

  2. Verifique debug.keystore en su carpeta .android.

    Mi problema se resolvió simplemente reemplazando debug.keystore ubicado en la carpeta .android por debug.keystore de su aplicación.

También me enfrenté al mismo problema, al usar Android Studio .

He referido todas las soluciones, pero todavía no estaba funcionando.

El problema fue que changed el package name mi package name después de la configuración inicial del proyecto. El cambio del nombre del paquete se reflejó en Manifest , pero en el archivo build.gradle , el nombre del paquete antiguo estaba allí.

Tan pronto como, he changed package name en build.gradle, Map comienza a funcionar.

Espero que ayude a alguien.

Yo tuve el mismo problema. Revisé los registros y se dijo “La autenticación falló en el servidor”. Entonces, revisé http://www.console.developers.google.com y descubrí que el nombre del paquete era incorrecto. (Este nombre de paquete se escribió automáticamente) Lo escribí correctamente y todo funciona bien.