Cómo agregar azulejos al mapa de google y animarlos es decir reemplazándolos con los azulejos nuevos continuamente

Im que agrega el tileoverlays múltiple al mapa de google del escondrijo y entonces que intenta animarlos usando el manejador cambiando allí visibilidad pero cuando intento cargarlos en la primera vez hay un parpadeo de las superposiciones en el mapa y la solución a este problema

Cualquier otra forma con la que pueda lograr esto

Introduzca aquí la descripción de la imagen

public class LocalTileProvider implements TileProvider { private String url; DatabaseHelper db; String type; // private Paint opacityPaint = new Paint(); String newurl= PathFinder.rainradar_HDBaseurl; String uid; public LocalTileProvider(String uid,DatabaseHelper cache,String type) { this.uid=uid; this.db=cache; this.type=type; } //taking the tile from SQLITEDATABASE @Override public Tile getTile(int x, int y, int zoom) { Tile tile = null; if(db.ispresent(uid, zoom,x , y,type)) { byte[] b=db.gettiles(uid, zoom,x , y,type); tile = new Tile(256, 256, b); return tile; } return NO_TILE; } } 

Siguiente es el código para agregar las baldosas a google map

 LocalTileProvider provider1 = new LocalTileProvider(uidList.get(0), db, TAG); TileOverlayOptions top1 = new TileOverlayOptions().tileProvider(provider1).visible(true); tileoverlay_1 = googleMap.addTileOverlay(top1); 

Después de agregar este m jugando la animación con el manejador, es decir, establecer su visibilidad en y fuera

 public void start() { btn_play.setEnabled(true); tileoverlay_default.setVisible(false); runnable_animation = new Runnable() { @Override public void run() { //tileoverlay_default.setVisible(false); isDownloading = false; // stop_download=true; isRunning = true; btn_play.setBackgroundResource(R.drawable.player_pause_2x); setVisibility(global); if (global == 11) { global = 0; } else { global = global + 1; } mHandler_animation.postDelayed(this, 1000); } }; mHandler_animation.post(runnable_animation); } 

 public class LocalTileProvider implements TileProvider { private String url; DatabaseHelper db; String type; // private Paint opacityPaint = new Paint(); String newurl= PathFinder.rainradar_HDBaseurl; String uid; public LocalTileProvider(String uid,DatabaseHelper cache,String type) { this.uid=uid; this.db=cache; this.type=type; } //taking the tile from SQLITEDATABASE @Override public Tile getTile(int x, int y, int zoom) { Tile tile = null; if(db.ispresent(uid, zoom,x , y,type)) { byte[] b=db.gettiles(uid, zoom,x , y,type); tile = new Tile(256, 256, b); return tile; } return NO_TILE; } } 

Gmaps siempre tiene algunos "filckering" al agregar un nuevo TileOverlay. Tiene dos opciones:

  • Agregue la "nueva" superposición sobre la anterior, y quite / ocultar la antigua sólo cuando la primera haya cargado (para lo cual no recuerdo si hay una devolución de llamada)
  • Agregue TODOS los TileProviders en la primera vez, estableciendo el primero en visible (true) y los demás en false visible (no puedo obtener de su código si ya agrega todos los proveedores a primera hora)
  • Com.google.android.gms.maps.MapFragment: No se puede resolver el símbolo "maps"
  • El proyecto de la biblioteca de Android no se registra en Google Map
  • Android Maps: Error de instalación: INSTALL_FAILED_MISSING_SHARED_LIBRARY
  • Android GeoCoder: la búsqueda por código postal devuelve resultados inesperados
  • Cómo calcular el radio visible en Google Maps en Android
  • Definición de un CameraUpdate con LatLngBounds con diferentes valores de relleno
  • ¿Cómo obtener el actual nivel de zoom de GoogleMap?
  • Falta de servicios de Google Play en el Administrador de SDK
  • Google maps - posición de la cámara con marcador en la parte inferior
  • ¿Cómo pueden las aplicaciones usar Google Offline Maps de Android 4+?
  • Clave de la API de Google Places para Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.