Android Studio如何使用osmdroid和MBTILE显示脱机地图

Android Studio如何使用osmdroid和MBTILE显示脱机地图,android,android-studio,openstreetmap,osmdroid,mbtiles,Android,Android Studio,Openstreetmap,Osmdroid,Mbtiles,我们正在开发一款android应用程序,它必须显示一个特定位置的离线地图(比如3-7个相邻岛屿)。我们成功地展示了整个世界,但这太沉重了。当手机处于脱机状态时,地图的缩放范围有限(变得模糊并开始滞后) 我设想这个应用程序就像Maps.me一样,如果你离线,你可以不断放大下载的地图。我一直在想办法,两天半后,我就可以用Maperitive获得mbtiles了。 但从那以后,我对下一步是什么感到困惑。在github教程中,我被困在这里: 这是否意味着我必须手动将mbtiles放入路径,或者是否有方法

我们正在开发一款android应用程序,它必须显示一个特定位置的离线地图(比如3-7个相邻岛屿)。我们成功地展示了整个世界,但这太沉重了。当手机处于脱机状态时,地图的缩放范围有限(变得模糊并开始滞后)

我设想这个应用程序就像Maps.me一样,如果你离线,你可以不断放大下载的地图。我一直在想办法,两天半后,我就可以用Maperitive获得mbtiles了。 但从那以后,我对下一步是什么感到困惑。在github教程中,我被困在这里: 这是否意味着我必须手动将mbtiles放入路径,或者是否有方法自动(或通过代码)存储和使用mbtiles


几周前我刚刚开始学习osm和android studio,我需要帮助。非常有人请告诉我。

是的,你必须将mbtiles文件放在手机上,并在应用程序代码中指定正确的路径。

是的,你必须将mbtiles文件放在手机上,并在应用程序代码中指定正确的路径。

  • 您可以将磁贴存档托管在服务器上,该服务器提供给应用程序的用户下载
  • 您可以使用CacheManager实用程序使用户能够在脱机之前缓存和/或永久存档给定区域的磁贴
  • 正如@Josef Adamcik所提到的,如果瓷砖的数量很小,您可以将它们直接放在
    /assets/YourTileSourceHere
    中。然后告诉osmdroid使用与该名称匹配的映射平铺源
  • 如果磁贴存档较小,您也可以将其放入
    raw
    中,然后在安装时将其复制到osmdroid可以读取它的地方,例如
    /data/data/yourpackagename
    (这也称为应用程序专用存储或复制到/sdcard/osmdroid或任何您想要的地方,只需使用Configuration.getInstance().set…方法来配置它的路径
如果你对改进维基有什么建议,请告诉我

  • 您可以将磁贴存档托管在服务器上,该服务器提供给应用程序的用户下载
  • 您可以使用CacheManager实用程序使用户能够在脱机之前缓存和/或永久存档给定区域的磁贴
  • 正如@Josef Adamcik所提到的,如果磁贴的数量很小,您可以将它们直接放在
    /assets/YourTileSourceHere
    中。然后告诉osmdroid使用与该名称匹配的地图磁贴源
  • 如果磁贴存档较小,您也可以将其放入
    raw
    中,然后在安装时将其复制到osmdroid可以读取它的地方,例如
    /data/data/yourpackagename
    (这也称为应用程序专用存储或复制到/sdcard/osmdroid或任何您想要的地方,只需使用Configuration.getInstance().set…方法来配置它的路径

如果您有改进wiki的建议,请通过“自动存储和使用mbtiles的方法(或通过代码)”让我知道我的意思是:有没有一种方法可以在安装应用程序时将mbtiles存储在那里?如果文件相当大,请将该文件放入assets目录。它将是apk的一部分,因此与应用程序一起安装。你真的需要在Android Studio中显示脱机地图作为你问题的标题吗?或者你是说你是一个你要在你的应用程序中实现离线地图吗?@JosefAdamcik谢谢!当我复制了总大小为2.40 MB的缩放级文件夹时,效果很好。你将如何用千兆字节的磁贴实现这一点?@sealion_cr检查spy的答案。前两个选项非常适合你处理较大的文件。通过“自动存储和使用磁贴的方法”(或通过代码)我的意思是:有没有一种方法可以在安装应用程序时将mbtiles存储在那里?如果文件相当大,请将该文件放入assets目录。它将是apk的一部分,因此与应用程序一起安装。你真的需要在Android Studio中显示脱机地图作为你问题的标题吗?或者你是说你是一个在你的应用程序中重新实现离线地图?@JosefAdamcik谢谢!当我复制了总大小为2.40 MB的缩放级文件夹时,效果很好。你将如何用价值千兆字节的磁贴实现这一点?@sealion_cr Check spy的回答。前两个选项非常适合较大的文件。我尝试使用较小区域的磁贴,放置后加载效果良好将它们直接复制到资源中,谢谢!但这些只是模拟图块。我将使用的实际图块大小为GB。尝试复制一些缩放文件夹(总大小:179MB)创建应用程序需要很长时间。我如何使用大尺寸的磁贴?上面回答了大尺寸的问题,请在应用程序中单独下载文件。在APK中可以放置的内容有限。此外,sqlite数据库也会很快。我尝试使用较小区域的磁贴,并在将它们直接放置到资产后加载良好s、 谢谢!但这些只是模型图块。我将使用的实际图块大小为GB。尝试复制一些缩放文件夹(总大小:179MB)创建应用程序需要很长时间。我如何使用大尺寸的磁贴?上面回答了大尺寸的问题,请在应用程序中单独下载文件。在APK中可以放置的内容有限。此外,sqlite数据库将更快