Лучший способ доставки OSMDroid Mapnik заархивировал тайлсет пользователю вживую - PullRequest
0 голосов
/ 14 марта 2020

Я разрабатываю приложение Android в Java с использованием OSMDroid для доставки автономных карт в формате листов Mapnik в виде файла .zip.

У меня вопрос о том, как доставлять эти карты пользователям, которые скачивают приложение из Play Store.

Я не знаю точный размер моего готового набора плиток, но это будет файл .zip размером около 100 МБ.

В прототипировании я включаю меньший tileset в папке моего проекта / assets, и при первом запуске скопируйте его в каталог внешнего хранилища пользователя с помощью папки getExternalStoragePublicDirectory (Environment.MEDIA_SHARED) и заменив / shared на / osmdroid (на моем телефоне это / storage / emulated / 0 / osmdroid ) и создание каталога при необходимости. Это что-то вроде хака, но это работает.

Проблемы с этим заключаются в том, что набор плиток (около 100 МБ) остается прикрепленным к приложению, пока копия создается во внешнем хранилище. Что довольно расточительно. Я также могу столкнуться с проблемами из-за того, что APK слишком большой.

Я подумал о том, чтобы позволить пользователю загрузить файл .zip с FTP-сервера после завершения установки приложения (подсказывая ему, что это biggi sh скачать и использовать WiFi по возможности). Я не рассматривал технические детали в деталях, но мне кажется, что это довольно просто реализовать. Однако я не могу найти описания людей, использующих этот метод.

Итак, мои вопросы:

  1. Существует ли стандартный или рекомендуемый способ доставки листов Mapnik пользователям в режиме реального времени для автономного использования?

  2. Если так, что это? (желательно со ссылками на примеры, если это возможно)

Спасибо всем заранее за вашу помощь!

...