2017-08-25 38 views
0
val cm= CacheManager(map) 
    val mt=MapTile(map.getZoomLevel(),map.scrollX,map.scrollY); 
    //(cm.loadTile(TileSourceFactory.MAPNIK,mt)) 
    cm.downloadAreaAsync(this,bb,map.minZoomLevel,map.maxZoomLevel); 

OSM搭載マップをダウンロードする方法です。今度は、アプリケーションが開かれた次回は、オンライン/ネットワーク要求に行くのではなく、すでにキャッシュされているローカルのローカルからマップをロードすることを望んでいます。Osmdroid&Osmdroid bonuspack CacheManagerの使い方

答えて

1

何もする必要はありません。自動的です。キャッシュマネージャは、基本的にMapViewのIFileSystemCacheプロバイダにフックします。プロバイダはデフォルトでsqliteデータベースです。ただし、次の点に注意してください。

  • デフォルトのマッププロバイダインスタンスを変更しない限り、キャッシュは常に最初にヒットします。必要なタイルが期限切れになった場合、再ダウンロードを試みます。
  • 有効期限がサーバーに設定され、タイルごとに変えることができ、タイル、大幅
  • は、それはそれは永久的に作成することも可能ですosmdroidのConfigurationクラス構造
  • を使用して有効期限を延長および/または有効期限のタイムスタンプを上書きすることが可能ですキャッシュマネージャを使用してデバイス上のアーカイブをタイルします。法律、奉仕条項、道徳的かつ潜在的な倫理問題があります。ユーザーが利用できるタイルソースのファイルプリントを必ず確認してください。

また、キャッシュ・マネージャーは、osmbonuspackで履歴と部分的にマージするため、osmdroid-androidライブラリーに配置されていることに注意してください。詳細については、change logおよびupgrade guideを参照してください。

+0

ありがとうございました。 –

関連する問題