Android - Osmdroid 6.0.2, переключение с SqlTileWriter на TileWriter (локальное хранилище) - PullRequest
0 голосов
/ 23 октября 2018

Я играю с Osmdroid для использования в приложении.У меня уже есть сервер тайлов и я хочу использовать эти тайлы.Изучил документы, используемые setTileSource(new XYTileSource()) волшебство произошло.Я должен упомянуть, что документация немного устарела во многих частях.

Плитки вышеупомянутого сервера уже используются в приложении в другой функции.Как подсказывает логика, я хочу использовать одно и то же местоположение кеша, чтобы у меня не было дубликатов тайлов в системе.Снова через документы, использовал Configuration.getInstance().setOsmdroidTileCase(new File("path")) и снова все идет просто отлично.Это было не так просто, поскольку в документации упоминается класс констант Osmdroids, который изменился в последней стабильной версии.

Затем последняя часть должна измениться с SqlTileWriter на обычную TileWriter, как мы уже имеемфайлы изображений, загруженные из другой функции.Это где я не могу понять это.Я использую:

MapTileProviderBasic tileProvider = new MapTileProviderBasic(getActivity(), new XYTileSource("My Tiles", 5, 16, 256, ".png",
            new String[]{"SERVER_URL"}), new TileWriter());
mMap.setTileProvider(tileProvider);

, и все становится странным.Изображения на самом деле загружаются, но карта показывает только фон загрузки.В журналах я получил StorageUtils, сообщающий, что хранилище недоступно для записи.Дали разрешения приложению, теперь доступно для записи, еще ничего.Я заметил, что кроме папки плиток были созданы файлы .db, но таблица плиток пуста.Я вернулся к приведенному выше коду и заменил new TileWriter() на new SQLTileWriter() только для проверки работоспособности, и карта работает просто отлично, без каких-либо разрешений.

Итак, главный вопрос.Как вы переходите с SQL на хранилище TileWriter?

1 Ответ

0 голосов
/ 29 октября 2018

Для тех, кто может застрять в этом, я открыл проблему на странице Github в Osmdroid, где мы нашли и решили эту проблему.Посмотрите эту ссылку для получения дополнительной информации.

...