Android Google Maps v2 dentro de Scrollview muestra mosaicos grises en algunos dispositivos

No es Android Google Maps v2 dentro Scrollview Funciona en muchos dispositivos, pero muestra los azulejos grises en algunos dispositivos API KEY es Correcto ,

Para usar Google Maps V2 dentro de Scrollview debe utilizar la clase personalizada extends SupportMapFragment , Like This:

public class WorkaroundMapFragment extends SupportMapFragment { private OnTouchListener mListener; @Override public View onCreateView(LayoutInflater layoutInflater, ViewGroup viewGroup, Bundle savedInstance) { View layout = super.onCreateView(layoutInflater, viewGroup, savedInstance); TouchableWrapper frameLayout = new TouchableWrapper(getActivity()); frameLayout.setBackgroundColor(getResources().getColor(android.R.color.transparent)); ((ViewGroup) layout).addView(frameLayout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); return layout; } public void setListener(OnTouchListener listener) { mListener = listener; } public interface OnTouchListener { public abstract void onTouch(); } public class TouchableWrapper extends FrameLayout { public TouchableWrapper(Context context) { super(context); } @Override public boolean dispatchTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: mListener.onTouch(); break; case MotionEvent.ACTION_UP: mListener.onTouch(); break; } return super.dispatchTouchEvent(event); } } } 

Y también establece:

  ((WorkaroundMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).setListener(new WorkaroundMapFragment.OnTouchListener() { @Override public void onTouch() { mScrollViewDa.requestDisallowInterceptTouchEvent(true); } }); 

Imagen tomada por los usuarios, Versión para Android : 4.2.2 , Dispositivo : Samsung Grand 2

Aplicación probada en: Samsung Galaxy Tab 2 10.1 ": 4.0.3 y Asus Fonepad 7" Tablet: 5.0.1 y funciona bien

 android:minSdkVersion="10" 

Introduzca aquí la descripción de la imagen

Para un problema similar he adoptado un enfoque diferente.

Sí, tienes razón en que no puedes tener un mapa directamente en ScrollView … pero puedes tener un FrameLayout y reemplazarlo en tiempo de ejecución con el mapa. Me gusta esto:

 <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="-100dp" android:layout_marginBottom="-100dp" android:id="@+id/mapViewDetail" android:scaleType="centerCrop" xmlns:tools="http://schemas.android.com/tools" android:layout_above="@+id/bottom_layout" tools:context="com.yourpackage.app.HomeActivity" tools:ignore="MergeRootFrame" /> 

Entonces he creado un mapa personalizado porque necesitaba un "tweak" (puede evitar este paso si está bien con el mapa predeterminado):

 public abstract class MiniMapFragment extends MapFragment { @Override public View onCreateView(LayoutInflater arg0, ViewGroup arg1, Bundle arg2) { View v = super.onCreateView(arg0, arg1, arg2); initMap(); return v; } public abstract void initMap(); } 

Luego, en el fragmento que acabo de agregar:

  MiniMapFragment mMapFragment = new MiniMapFragment() { @Override public void initMap() { googleMap = getMap(); getMap().getUiSettings().setMyLocationButtonEnabled(false); getMap().getUiSettings().setZoomControlsEnabled(false); getMap().getUiSettings().setScrollGesturesEnabled(false); } }; FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); fragmentTransaction.add(R.id.mapViewDetail, mMapFragment); fragmentTransaction.commit(); getFragmentManager().executePendingTransactions(); MapsInitializer.initialize(this); 

Y deberías estar bien.

No estoy completamente seguro si esto responderá a su pregunta, pero vale la pena investigar.

De su pregunta y los comentarios, parece ser un usuario en Irán en un dispositivo particular que está recibiendo los mapas en gris. Como no estoy seguro de la ubicación exacta del usuario, he hecho algunas investigaciones sobre la accesibilidad de Google Maps en Irán y sus alrededores.
Es posible que este usuario esté intentando localizar mapas que están intencionadamente atenuados.

Imágenes de mapa satelital con datos que faltan o no están claros

No todas las cosas se muestran en Google Maps.

Blurred Out: 51 cosas que no se permiten ver en Google Maps

Hubo problemas hace un par de años con los consumidores que utilizan Google en Irán e Irán que desean crear un Mapa de la Tierra Islámico.

Irán planea "Google Earth islámico"

Sin embargo, esto parece haber sido resuelto con personas que tienen acceso a mapas de Google en esa área.

Este es también un mapa de las bases militares estadounidenses cerca de Irán. De los cuales hay muchos y son por lo menos probable que sea borrosa, si no gris.

Las bases militares americanas cerca de Irán

También en el vecino Irak, hay problemas con imágenes aéreas anticuadas.

Cuando Irak recibirá nueva actualización de imágenes satelitales

Además, con la política de Censura de Internet de Irán y el uso de "Filtrado Inteligente"

Irán amplía la censura de Internet "inteligente" No estoy seguro de si esto afectaría el acceso a Google Maps en algunas áreas.

Yo sugeriría pedir la ubicación específica de los usuarios, o preguntar si los mapas aparecen en algunos lugares y no otros.

Espero que esto ayude.

Editar

El Galaxy Grand Duos (GT-I9082) sólo se ha actualizado recientemente a 4.2.2.

Hay múltiples problemas con la actualización de frijol para el Samsung Grand 2

Si su usuario ha actualizado recientemente su teléfono, puede que valga la pena comprobar esto.
Aunque el siguiente enlace no es específico de google maps, sigue siendo útil. Samsung Galaxy Grand: Rendimiento lento después de la actualización JB 4.2.2.

Más allá de investigar el dispositivo en particular y cualquier problema que he mencionado anteriormente, no hay mucho más que pueda ofrecerle en esta etapa.

  • Com.google.android.maps.MapView muestra los mosaicos desactualizados
  • Google Maps Android V2 - Pantalla en blanco
  • Google Maps API Android
  • OnMapReady no llamando aunque la visualización del mapa sin ningún error
  • Android: para dibujar una ruta entre dos puntos geográficos
  • ¿Cuándo puedes llamar a GoogleMap.moveCamera después de onMapReady de OnMapReadyCallback?
  • Cómo hacer Google hacer en el centro cuando se utiliza doble Pulsar y pellizcar para acercar el androide?
  • Error de constructores no predeterminados en fragmentos
  • ¿Cómo cambiar el icono de marcador de lo que fue aprovechado?
  • Hacer algo cuando estoy dentro del radio del círculo
  • ¿Cuál es la mejor manera de soportar apis de Google Maps (v1 y v2)?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.