Использование osmdroid Я пытаюсь создать автономное картографическое приложение.
Я использую листы карты, сгенерированные на файловом сервере в формате PNG. Они организованы в стандартной структуре файла / каталога /x/y/z.png и сжаты в файл .zip с внутренней структурой: /mapnik/x/y/z.png
Имя Файл .zip - mapnik.zip (я понимаю, имя этого файла не имеет значения).
Я установил .apk, установив его в Android Studio.
Я попытался поместить файл .zip в / storage / emulated / 0 / osmdroid и / storage / emulated / 0 / osmdroid / tile, где находятся файлы cache.db и cache.db-journal ( эта структура каталогов уже существовала).
Когда я запускаю приложение, оно запускается, но вместо карты отображается пустая сетка.
Если я изменю map.setUseDataConnection (false); в (true) он загружает карту через inte rnet и отображает ее.
К сожалению, мне нужно это для уникального запуска в автономном режиме.
Код для этого я получил от https://github.com/TizioFittizio/OsmDroidOfflineMap
Моя основная активность заключается в следующем:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MapView map = (MapView) findViewById(R.id.map);
map.setUseDataConnection(false);
map.setTileSource(TileSourceFactory.MAPNIK);
IMapController controller = map.getController();
GeoPoint startPoint = new GeoPoint(37.370925, -5.972684);
controller.setCenter(startPoint);
Marker startMarker = new Marker(map);
startMarker.setPosition(startPoint);
startMarker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM);
map.getOverlays().add(startMarker);
controller.setZoom(8);
map.setMinZoomLevel(6);
map.setMaxZoomLevel(15);
Кто-нибудь знает, что я делаю неправильно?
В качестве альтернативы, кто-нибудь еще сделал это и ты использовал osmdroid? А если нет, что ты использовал?