2016-04-08 21 views

回答

2

嗯,我不能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運行一個例程,以便在啓動時(使用默認磁貼提供程序)發現可脫機使用的所有磁貼源。然後,當您切換切片來源時,它將嘗試使用所有可用來源完成切片請求,直到嘗試在線來源。

總之,

  1. 準備你的sqlite文件
  2. 轉移到設備/ SD卡/ osmdroid/
  3. 告訴osmdroid使用的「供應商」列在數據庫匹配的瓷磚源(和有選擇地設置離線模式mapview.setUseDataConnection(假))
  4. 啓動它
+0

非常感謝您對OSMDroid工作!我在使用離線地圖時遇到了麻煩..我使用SqliteArchiveTileWriter和CacheManager將數據下載到/sdcard/osmdroid/mydata.sqlite,並將默認提供程序設置爲Mapnik。 (這只是一個內部演示應用程序,沒有人會公開使用它) 爲了加載這些瓷磚,我需要做什麼嗎?任何文件提供程序設置? – mangerlahn

+0

您可能只需重置地圖視圖的磁貼提供程序。像mapView.setTileProvider(新的MapTileProviderBasic(...))。這應該迫使發現部分再次發生 – spy

+0

感謝您的幫助!不幸的是,這並沒有幫助。地圖切片甚至在應用程序重新啓動時不加載。我認爲我可能會將數據加載到錯誤的位置,因爲我無法在該目錄中找到OSMdroid的cache.db – mangerlahn

相關問題