- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我开始使用 Osmdroid,我想使用这项技术来显示关于 F1 赛道的 map 。我有一张大图,我可以将它裁剪成更小的图 block 。
我可以修改osmdroid库来上传这些图片吗?
我想将这些位图(图 block )保存在我的 Assets 文件夹中。
我完全不知道如何做到这一点。
我之所以使用这种方式,是因为当我尝试显示这张完整的全尺寸图片时,android 通常会出现内存错误。如果我只显示图像的一些图 block (取决于缩放比例),也许我的应用会运行得更好?
提前致谢!
最佳答案
Osmdroid 使用一个系统,其中世界地图被划分为瓦片。图 block 通常具有相同的像素大小,这意味着您使用的缩放级别越大,“覆盖世界”所需的图 block 就越多。每个图 block 都有其坐标 (x,y) 和设计使用的缩放级别。
可以在 osmdroid 中使用各种自定义图 block 源。看看this class in osmdroid - 它创建一些图 block 源的实例。您可以使用相同的机制创建自己的图 block 源。然而,所有这些都使用了我上面描述的世界的这些 x,y 坐标。 Osmdroid 将询问您的图 block 源,例如缩放级别 10 中的图 block 10,10。如果您能够创建 map 图 block 以使用此坐标系统,那么它将起作用。但是,对于自定义 map (例如 F1 赛道)可能很难做到这一点。
我对此也很感兴趣,可能会在不久的将来尝试使用 osmdroid 的平铺机制来显示一些大图像。如果你成功了,请告诉我:)。
关于android - Osmdroid:如何从我自己的位图(图 block )创建和加载 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8170265/
我是一名优秀的程序员,十分优秀!