Acceso a GoogleMap desde fuera del hilo de la interfaz de usuario en Android
Estoy utilizando Google Map Android API v2 para mi aplicación Android. Allí he inicializado GoogleMap como sigue dentro onCreate
SupportMapFragment fm = (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map); mGoogleMap = fm.getMap();
En mi aplicación, tengo que hacer algunas tareas de fondo y estoy usando AsybcTask para eso. Mientras progreso a través de las tareas de fondo quiero actualizar el mapa. Consulte el ejemplo siguiente.
- Cómo ocultar / mostrar grupos de marcadores por categoría con Google Maps en Android?
- Android - Implementación de mapas v2 en el cajón de navegación
- ¿Cómo implementar Google StreetView con Google CardBoard SDK?
- Google Maps v2 que centra y que da vuelta a la posición de la cámara para caber dos marcadores
- Obtener país de coordenadas?
@Override protected Void doInBackground(Void...voids) { while(Condition) { mGoogleMap.clear(); mGoogleMap.addMarker(marker); Thread.sleep(5000); } }
Sé que no puedo acceder directamente a los componentes de la interfaz de usuario dentro del método doInBackground. Pueden acceder a los componentes comunes de la interfaz de usuario, como botones, editexts, vistas de texto, analizando el contexto de la aplicación en la clase AsyncTask. Pero no puedo encontrar una forma de acceder a GoogleMap desde el método doInBackground. ¿Podría por favor darme una solución.
- ¿Cómo obtener la posición del marcador antes de arrastrar?
- Cómo obtener una imagen de un lugar de google maps o lugares API
- Cómo saber si un dispositivo Android está cerca de una dirección google maps api
- Cómo obtener la latitud y la longitud en el mapa en Android?
- mapa androide de google que encuentra la distancia
- MapView lanzar IllegalArgumentException - Tamaño de imagen incorrecto: 192 192
- Mapa de Google que muestra solo cuadros en blanco android
- Cómo resolver para viewpager: El niño especificado ya tiene un padre. Debe llamar a removeView () en el padre del niño primero
Si su AsyncTask
es una parte de la Activity
, simplemente puede utilizar el método runOnUiThread
, como esto:
@Override protected Void doInBackground(Void...voids) { while(Condition) { runOnUiThread(new Runnable() { @Override public void run() { mGoogleMap.clear(); mGoogleMap.addMarker(marker); Thread.sleep(5000); } }); } }
- Utilizar proxy en Visual Studio Emulator para Android
- Hexcode diferencia entre el color primario y colorPrimaryDark?