Osmdroid 5.6, offline MBTiles -


i'm trying use mbtiles offline osmdroid,

i took code sample here https://github.com/osmdroid/osmdroid/blob/master/openstreetmapviewer/src/main/java/org/osmdroid/samplefragments/tileproviders/sampleofflineonly.java

but empty map shown, there problem code?

my code is:

public class osmdroid extends appcompatactivity {  private mapview mapview; @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);      setcontentview(r.layout.activity_osmdroid);      mapview = (mapview) findviewbyid(r.id.map);       string name = "map.mbtiles";     file f = new file(environment.getexternalstoragedirectory() + "/osmdroid", name);     if (f.exists()) {         try {              //ok found file support , have driver format, demo, we'll use first 1              //create offline tile provider, offline file archives             //again using first file             offlinetileprovider tileprovider = new offlinetileprovider(new simpleregisterreceiver(this),                     new file[]{f});              //tell osmdroid use provider instead of default rig (asserts, cache, files/archives, online             mapview.settileprovider(tileprovider);              //this bit enables find out tiles sources available. note, action may take time run             //and should ran asynchronously. we've put inline simplicity              string source = "";             iarchivefile[] archives = tileprovider.getarchives();             if (archives.length > 0) {                 //cheating bit here, first archive file , ask tile sources names contains                 set<string> tilesources = archives[0].gettilesources();                 //presumably, great place tell users tiles sources available                 if (!tilesources.isempty()) {                     //ok good, found @ least 1 tile source, create basic file based tile source using name                     //and set it. if don't set it, osmdroid attempt use default source, "mapnik",                     //which won't match offline tile source, unless it's mapnik                     source = tilesources.iterator().next();                     mapview.settilesource(filebasedtilesource.getsource(source));                 } else {                     mapview.settilesource(tilesourcefactory.default_tile_source);                 }              } else {                 mapview.settilesource(tilesourcefactory.default_tile_source);             }             mapview.setusedataconnection(false);             mapview.setbuiltinzoomcontrols(true);             imapcontroller mapcontroller = mapview.getcontroller();             mapcontroller.setzoom(10);             geopoint startpt = new geopoint(61.5797,51.5997);             mapcontroller.setcenter(startpt);             mapview.invalidate();             return;         } catch (exception ex) {             ex.printstacktrace();         }      } } } 

mbtilesfilearchive gettilesources returns empty string, here implementation:

public set<string> gettilesources(){     //the mbtiles spec doesn't store source information in it, can't return     return collections.empty_set; } 


Comments

Popular posts from this blog

python - Selenium remoteWebDriver (& SauceLabs) Firefox moseMoveTo action exception -

html - How to custom Bootstrap grid height? -

transpose - Maple isnt executing function but prints function term -