Ciao,
ho costruito una piccola app in AndroidStudio (usando kotlin) con un'activity che, utilizzando la libreria osmdroid, carica una mappa da dati online, e tutto funziona bene.
Vorrei ora caricare una mappa offline, usando files 'mbtiles'. Ne ho quindi creato uno allo scopo (contenente tiles di tipo 'png'), su una piccola area geografica (che riesco a visualizzare correttamente sui viewer ed interrogare con un client SQLlite), contenente solo i livelli di zoom 7 e 8. Ho questo codice che definisce il setting delle mappa offline:
val files = mapCachePath.listFiles()
if (files != null && files.any { it.name.endsWith(".mbtiles") }) {
// Scansiona la cartella per tutti i file .mbtiles
val mbTilesFiles = mapCachePath.listFiles { file -> file.extension == "mbtiles" }
for (file in mbTilesFiles!!) // ... nel mio caso ce n'è uno solo...
try {
// Configurazione per modalità offline
val tileSource = XYTileSource(
"MBTiles",
7,
8,
256,
".png",
arrayOf(file.absolutePath)
)
mapView.setTileSource(tileSource)
mapView.controller.setCenter(GeoPoint(46.15, 15.30)) // punto esistente nella mia mappa
mapView.controller.setZoom(7.2)
} catch (e: Exception) {
showDialog(this, "FT configureMapMode","Errore nel caricamento MBTiles: ${e.message}")
}
}
Se eseguo il codice, non ottengo errori di nessun tipo, ma la mappa è sempre vuota .... Non capisco cosa mi sto dimenticando....
Qualcuno di voi usa osmdroid in modalità offline?