osmdroid를 사용하여 OpenStreetMap에서 오프라인지도에 대한 타일 가져 오기
2261 단어 안드로이드OpenStreetMaposmdroid
계속됩니다.
CacheManager 클래스
타일의 캐쉬를 관리하기 위한 클래스입니다.
참고 : Cache Manager
OSM 서버에서 타일 이미지를 다운로드하고 오프라인 타일 파일을 만드는 메소드가 있습니다.
downloadAreaAsync(Context ctx, BoundingBox bb, final int zoomMin, final int zoomMax, final CacheManagerCallback callback)
CacheManagerCallback 메서드
성공할 때 호출됩니다
실패 할 때 호출됩니다
주기적으로 호출되기 때문에 중간 경과를 표시하는 데 도움이됩니다
다운로드가 시작될 때 호출됩니다
다운로드가 시작되기 직전에 호출됩니다
기본 사용법
//String outputName : 出力ファイルのパス名
// 例 /storage/emulated/0/osmdroid/archive.sqlite
// MapView から表示範囲を取得する
BoundingBox bb = mMapView.getBoundingBox();
// ダウンロードする
SqliteArchiveTileWriter writer =new SqliteArchiveTileWriter(outputName);
CacheManager mgr = new CacheManager(mMapView, writer);
mgr.downloadAreaAsync( context, bb, zoommin, zoommax, new CacheManager.CacheManagerCallback() {
// コールバックの処理
});
줌 레벨을 지정하는 UI 추가
// SeekBar sb;シークバーの view
// MapView からズームレベルを取得して、シークバーの最大値を設定する
int max = (max)mMapView.getMaxZoomLevel();
sb.setMax( max);
// シークバーから指定されたズームレベルを取得する
int zoom =sb.getProgress();
스크린샷
범위 선택을 위한 지도
매개변수를 지정하기 위한 대화상자
위 탐색 바는 최소 줌. 아래는 최대 줌.
github에 소스를 게시했습니다.
Reference
이 문제에 관하여(osmdroid를 사용하여 OpenStreetMap에서 오프라인지도에 대한 타일 가져 오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ohwada/items/93dbb157dcb2fbbd24ac텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)