Android Google Maps V2 – Tarjeta Sd como proveedor de mosaico

Estoy desarrollando una aplicación para Android con Google Maps API V2 y tengo que usar baldosas sin conexión, tengo todas las baldosas (de mapas de calle abierta en formato png) de mi ciudad entera en mi tarjeta SD. Ya he intentado utilizar TileProvider interfaz, pero no funcionó. Cómo puedo hacer eso ? Gracias por adelantado.

Modifiqué algo y funcionó. Aquí está el código:

CustomMapTileProvider.java

 public class CustomMapTileProvider implements TileProvider { private static final int TILE_WIDTH = 256; private static final int TILE_HEIGHT = 256; private static final int BUFFER_SIZE = 16 * 1024; Override public Tile getTile(int x, int y, int zoom) { byte[] image = readTileImage(x, y, zoom); return image == null ? null : new Tile(TILE_WIDTH, TILE_HEIGHT, image); } private byte[] readTileImage(int x, int y, int zoom) { FileInputStream in = null; ByteArrayOutputStream buffer = null; try { in = new FileInputStream(getTileFile(x, y, zoom)); buffer = new ByteArrayOutputStream(); int nRead; byte[] data = new byte[BUFFER_SIZE]; while ((nRead = in .read(data, 0, BUFFER_SIZE)) != -1) { buffer.write(data, 0, nRead); } buffer.flush(); return buffer.toByteArray(); } catch (IOException e) { e.printStackTrace(); return null; } catch (OutOfMemoryError e) { e.printStackTrace(); return null; } finally { if ( in != null) try { in .close(); } catch (Exception ignored) {} if (buffer != null) try { buffer.close(); } catch (Exception ignored) {} } } private File getTileFile(int x, int y, int zoom) { File sdcard = Environment.getExternalStorageDirectory(); String tileFile = "/TILES_FOLDER/" + zoom + '/' + x + '/' + y + ".png"; File file = new File(sdcard, tileFile); return file; } } 

Agrega TileOverlay a tu instancia de GoogleMap

 ... map.setMapType(GoogleMap.MAP_TYPE_NONE); TileOverlayOptions tileOverlay = new TileOverlayOptions(); tileOverlay.tileProvider(new CustomMapTileProvider()); map.addTileOverlay(tileOverlay).setZIndex(0); ... 
  • ¿Cómo obtener detalles del hospital con la especialización usando google map para android?
  • Añadir ronda egde a un marcador de mapa
  • Android google maps v2 problemas de rendimiento
  • Android: ubicación de Google Maps con bajo consumo de batería
  • Varias ventanas de información en Android Maps API 2
  • Android GoogleMap v2 se recorta o no se muestra completamente
  • Uso de Google MapView v2 en Live Wallpaper
  • Mostrar la ubicación actual y los lugares cercanos y la ruta entre dos lugares con la API de Google Maps en Android
  • El mapa de Google llamado dentro de un fragmento devuelve null
  • Com.google.android.maps.MapView muestra los mosaicos desactualizados
  • Android Maps API v2 - ¿acercamientos a la rotación del marcador?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.