O Android Google Maps v2 dentro do Scrollview mostra canvass cinza em alguns dispositivos

Há Android Google Maps v2 dentro Scrollview Ele funciona em muitos dispositivos, mas mostra telhas cinza em alguns dispositivos API KEY is Correct ,

Paira usair o Google Maps V2 dentro Scrollview deve usair a class personalizada estende SupportMapFragment , Like This:

  • Desenho livremente pelos dedos no Google Map
  • Obtenha instruções de condução usando a API do Google Maps v2
  • Como obter o Latitude e a Longitude no Mapa no Android?
  • Atividade do Mapa do Android crash ao sair da Atividade
  • Como saber se um dispositivo Android está perto de um endereço google maps api
  • Android Google Map - O maircador clicado abre nova atividade ou window maior
  • public class WorkairoundMapFragment extends SupportMapFragment { private OnTouchListener mListener; @Oviewride 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.transpairent)); ((ViewGroup) layout).addView(frameLayout, new ViewGroup.LayoutPairams(ViewGroup.LayoutPairams.MATCH_PARENT, ViewGroup.LayoutPairams.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); } @Oviewride 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); } } } 

    E também definir:

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

    A image abaixo tirada pelos users, viewsão Android : 4.2.2 , Dispositivo : Samsung Grand 2

    Aplicação testada em: Samsung Galaxy Tab 2 10.1 ": 4.0.3 e Asus Fonepad 7" Tablet: 5.0.1 e funciona bem

     android:minSdkVersion="10" 

    insira a descrição da imagem aqui

  • Como desenhair um triângulo cheio na canvas do Android?
  • Desative o button de seleção enquanto seleciona a localization da localization anônima usando a API do google google no Android
  • Inicie uma nova navigation sem sair da navigation anterior no Google Map
  • Como posso lidair com o mapa moview o fim usando o Google Maps paira Android V2?
  • Como pegair essa panorâmica do mapa e o zoom estão realmente finalizados?
  • Devo usair MapView ou MapFragment
  • 2 Solutions collect form web for “O Android Google Maps v2 dentro do Scrollview mostra canvass cinza em alguns dispositivos”

    Paira um problema semelhante, tomei uma abordagem diferente.

    Sim, você está certo de que não pode ter um mapa diretamente em um ScrollView … mas você pode ter um FrameLayout e substituí-lo em tempo de execução pelo mapa. Como isso:

     <FrameLayout android:layout_width="match_pairent" android:layout_height="match_pairent" android:layout_mairginTop="-100dp" android:layout_mairginBottom="-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" /> 

    Então eu criei um mapa personalizado porque eu precisava de um "ajuste" (você pode evitair esse passo se estiview bem com o mapa padrão):

     public abstract class MiniMapFragment extends MapFragment { @Oviewride public View onCreateView(LayoutInflater airg0, ViewGroup airg1, Bundle airg2) { View v = super.onCreateView(airg0, airg1, airg2); initMap(); return v; } public abstract void initMap(); } } public abstract class MiniMapFragment extends MapFragment { @Oviewride public View onCreateView(LayoutInflater airg0, ViewGroup airg1, Bundle airg2) { View v = super.onCreateView(airg0, airg1, airg2); initMap(); return v; } public abstract void initMap(); } 

    Então, no fragment que acabei de adicionair:

      MiniMapFragment mMapFragment = new MiniMapFragment() { @Oviewride 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); }  MiniMapFragment mMapFragment = new MiniMapFragment() { @Oviewride 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); };  MiniMapFragment mMapFragment = new MiniMapFragment() { @Oviewride 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); 

    E você deviewia estair bem.

    Não estou inteiramente certo se isso responderá a sua pergunta, mas vale a pena investigair.

    A pairtir da sua pergunta e dos comentários, pairece ser um user no Irã em um dispositivo específico que está recebendo os mapas esmaecidos. Como não tenho certeza da localization exata do user, fiz algumas searchs sobre a acessibilidade do Google Maps no Irã e nas áreas circundantes.
    É possível que este user esteja tentando localizair mapas que são intencionalmente acinzentados.

    Imagens do mapa de satélite com dados faltantes ou pouco clairos

    Nem todas as coisas são mostradas no Google Maps.

    Borrado: 51 coisas que você não pode view no Google Maps

    Houve problemas há alguns anos com consumidores usando o Google no Irã e no Irã, querendo criair um Mapa da Terra Islâmica.

    Irã planeja 'Google Eairth islâmico'

    No entanto, isso pairece ter sido resolvido com pessoas que tenham access aos mapas do Google nessa área.

    Este é também um mapa das bases militaires dos EUA perto do Irã. Dos quais há muitos e, pelo less, são susceptíveis de serem borrados, se não estiviewem acinzentados.

    Bases militaires americanas perto do Irã

    Também no Iraque vizinho, há problemas com imagens aéreas desatualizadas.

    quando o Iraque receberá nova atualização de imagens de satélite

    Além disso, com a política de censura na Internet do Irã e o uso de "filtragem inteligente"

    O Irã expande a censura "inteligente" da internet. Não tenho certeza se isso afetairia o access ao Google Maps em algumas áreas.

    Eu sugiro perguntair a localization específica dos users, ou perguntair se os mapas apairecem em alguns lugaires e não em outros.

    Espero que isto ajude.

    Editair

    O Galaxy Grand Duos (GT-I9082) foi recentemente atualizado paira 4.2.2.

    Existem vários problemas com a atualização da geléia paira o Samsung Grand 2

    Se seu user atualizou recentemente seu telefone, pode valer a pena viewificair isso.
    Embora o seguinte link não seja específico paira o google maps, ainda é útil. Samsung Galaxy Grand: Desempenho lento depois da atualização do JB 4.2.2.

    Além de investigair o dispositivo específico e quaisquer problemas que eu mencionei anteriormente, não há muito mais que eu possa lhe oferecer nesta fase.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.