OSMDroid Mapnik压缩磁贴的最佳交付方法,在直播中向用户提供。

问题描述 投票:0回答:1

我正在使用 OSMDroid 用 Java 开发一个 Android 应用程序,以在 .zip 文件中以 Mapnik tile 格式传送离线地图。

我的问题是如何将这些地图交付给从Play Store下载应用程序的用户。

我不知道我完成的瓦片集的确切大小,但它将是一个约100MB的.zip文件。

在protyping中,我将一个较小的tileset包含在我的项目的assets文件夹中,并在第一次运行时使用getExternalStoragePublicDirectory(Environment.MEDIA_SHARED)文件夹将其复制到用户的外部存储目录中,并将shared替换为osmdroid(在我的手机上是storageemulated0osmdroid),必要时创建目录。这是一个有点黑客,但它的工作。

这样做的问题是,磁贴集(大约100MB)仍然附着在应用程序上,同时在外部存储中创建一个副本。这还挺浪费空间的。我可能还会遇到APK太大的问题。

我想过让用户在安装完应用后,从FTP服务器上下载.zip文件(提示用户这是个大下载,如果可能的话,请使用WiFi)。我还没有详细研究技术细节,但我觉得这在实现上是相当简单的。但是,我找不到任何关于人们使用这种方法的描述。

所以,我的问题是。

  1. 有没有一种标准或推荐的方法 可以将Mapnik磁贴传递给用户进行离线使用?

  2. 如果有,那是什么?(如果可能的话,最好附上例子的链接)

提前感谢大家的帮助!

android osmdroid mapnik
1个回答
0
投票

最后,我从FTP服务器下载了zip文件。这已经与一组测试用户在现实生活环境中进行了测试,似乎效果不错。

zip文件被下载到方法getExternalFilesDir返回的目录中。这将返回应用程序的数据存储目录,这比硬编码的路径更有优势,当应用程序被卸载时,zip文件也会被删除。

© www.soinside.com 2019 - 2024. All rights reserved.