- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我目前正在做一个学校项目,我正在尝试学习将 OSM map 图 block 下载到手机的本地内存/缓存中的技术,以便用户能够在离线时查看 map 。
这是通过给出一个特定的位置来完成的,距离该位置特定半径/距离内的 map block 将被下载到手机内存中(当有在线连接时)以供离线显示。
但是,我在理解 OSMDroid 的 API 时遇到了一些小麻烦。据我了解,似乎涉及的类是:
如有错误请指正
此外,在 MapTileBase(我相信它是提供者)中,getMapTile 返回 android.graphics.drawable.Drawable .
这个Drawable类是不是和离线 map 显示的概念有关?
希望有人能赐教,到底在哪里调用 map 下载到手机内存中,以及我们如何编辑 map 以显示界面项目,如路线、引脚等。
最佳答案
我没有确切的答案,因为您正在寻找一种方法来在 MapView 尚未导航到的区域之外进行离线缓存。有内置的缓存支持,但不是您想要的方式。
如果您计划缓存而不只是提供您自己的离线 map 图 block ,您将需要在线下载功能。我会看一下 MapTileDownloader,也许会尝试实现您自己的版本。 MapTileDownloader.TileLoader.loadTile() 方法采用 MapTileRequestState,我相信 MapTileProviderArray 在需要 map 图 block 时会调用它。
如果您可以复制现有的 MapTileDownloader 的 TileLoader 功能,您可能可以注入(inject)您自己的相关 MapTileRequestState 或直接将 MapTile 注入(inject)所请求的状态。例如获取名为 MapTileRequestState 的 TileLoader,检查它,弄清楚如何构造新的 MapTileRequestState/MapTile 来表示当前 View 之外的图 block 。这并不容易,因为您必须处理不同的缩放级别,并且根据缩放级别,半径应该更小,等等......较低的缩放级别 18 的瓷砖半径比更高的 10。
就我个人而言,我最近正在尝试 100% 离线工作,因此我没有任何示例代码可以提供帮助。祝你好运,尽管已经过去几个月了。
关于android - 下载特定的 maptile 以缓存在 OSMDroid 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12968594/
我在使用 osmdroid 时遇到问题 当我使用这段代码时 map.setTileSource(TileSourceFactory.MAPQUESTOSM); 我使用在线 map 没问题。但这不允许我
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我是 Android 的新手,但我想尝试制作一款基于图 block 的游戏,您可以在 map 上逐个方 block 地移动。 但是我在打开许多资源时遇到问题,现在我只是为每个图 block 使用相同的
有没有人知道是否可以使用 osmdroid 在 mapview 中将图像用作自定义 maptile?例如,我希望用户能够从我的应用程序中选择存储在手机上的图像,然后让该图像替换我的 map View
我目前正在做一个学校项目,我正在尝试学习将 OSM map 图 block 下载到手机的本地内存/缓存中的技术,以便用户能够在离线时查看 map 。 这是通过给出一个特定的位置来完成的,距离该位置特定
我在一个 Angular 应用程序中实现了 heremaps 并使用它来使用 wkhtmltopdf 打印 PDF,问题是我需要有一个可靠的事件来收听以便通知 wkhtmltopdf 我的 map 已
我是一名优秀的程序员,十分优秀!