儘管據說sqlite數據庫是離線地圖圖塊的推薦格式(https://github.com/osmdroid/osmdroid/wiki/Offline-Map-Tiles),但實際上並沒有如何使用它。我有我的sqlite文件與mobac應用程序生成,但如何加載它?如何在Osmdroid中使用sqlite數據庫?
任何示例都會有所幫助!
我的環境是Xamarin,VS,Android。
儘管據說sqlite數據庫是離線地圖圖塊的推薦格式(https://github.com/osmdroid/osmdroid/wiki/Offline-Map-Tiles),但實際上並沒有如何使用它。我有我的sqlite文件與mobac應用程序生成,但如何加載它?如何在Osmdroid中使用sqlite數據庫?
任何示例都會有所幫助!
我的環境是Xamarin,VS,Android。
嗯,我不能Xamarin說話,但使用SQLite數據庫與osmdroid,只需在/sdcard/osmdroid/yourfile.sqlite
獲取設備的文件,然後啓動osmdroid,或者它在
運行任何應用程序然後你需要告訴osmdroid在sqlite的'provider'列中顯示任何tile源代碼。這是在以下鏈接
https://github.com/osmdroid/osmdroid/wiki/Map-Sources#using-a-different-tile-source
我同意文件,維基可以使用一些這方面的澄清。簡而言之,osmdroid運行一個例程,以便在啓動時(使用默認磁貼提供程序)發現可脫機使用的所有磁貼源。然後,當您切換切片來源時,它將嘗試使用所有可用來源完成切片請求,直到嘗試在線來源。
總之,
非常感謝您對OSMDroid工作!我在使用離線地圖時遇到了麻煩..我使用SqliteArchiveTileWriter和CacheManager將數據下載到/sdcard/osmdroid/mydata.sqlite,並將默認提供程序設置爲Mapnik。 (這只是一個內部演示應用程序,沒有人會公開使用它) 爲了加載這些瓷磚,我需要做什麼嗎?任何文件提供程序設置? – mangerlahn
您可能只需重置地圖視圖的磁貼提供程序。像mapView.setTileProvider(新的MapTileProviderBasic(...))。這應該迫使發現部分再次發生 – spy
感謝您的幫助!不幸的是,這並沒有幫助。地圖切片甚至在應用程序重新啓動時不加載。我認爲我可能會將數據加載到錯誤的位置,因爲我無法在該目錄中找到OSMdroid的cache.db – mangerlahn