Osmdroid:如何从我自己的位图(图块)创建和加载地图?

时间:2011-11-17 16:01:06

标签: android bitmap offline tiles osmdroid

我开始使用Osmdroid,我想使用这项技术来显示关于F1赛道的地图。我有一张大图,我可以将它剪切成更小的瓷砖。

我可以修改osmdroid库以上传这些图片吗?

我想在资产文件夹中保存这些位图(图块)。

我很失落如何做到这一点。

我正在使用这种方式,因为当我尝试显示这个完整的全尺寸图片时,android通常会出现内存错误。如果我只显示图像的一些图块(取决于缩放),也许我的应用程序可以更好地工作?

提前致谢!

2 个答案:

答案 0 :(得分:2)

Osmdroid使用的系统将世界地图划分为多个图块。平铺通常具有相同的像素大小,这意味着您使用更大的缩放级别需要更多的平铺来“覆盖世界”。每个图块都有其坐标(x,y)和设计使用的缩放级别。

可以在osmdroid中使用各种自定义磁贴源。看看this class in osmdroid - 它创建了一些tile源的实例。您可以使用相同的机制创建自己的切片源。但是,所有这些都使用了我上面描述的世界的x,y坐标。例如,在缩放级别10中,Osmdroid将询问您的图块源为图块10,10。如果您能够创建地图的图块以使用此坐标系统,那么它将起作用。但是,对于自定义地图(如F1赛道)可能很难这样做。

我也对此感兴趣,并且可能会尝试使用osmdroid的平铺机制在不久的将来显示一些大图像。如果你成功了,请告诉我:)。

答案 1 :(得分:1)

我认为这里有两个问题:

  1. 如何从位图文件创建osmdroid格式的地图图块。
  2. 如何将它们加载到osmdroid
  3. 对于问题1,您可以使用工具创建图块。

    • http://www.maptiler.org/ 可用于根据位图及其边界坐标中的位图创建切片。
    • http://mobac.sourceforge.net/ 从在线地图创建Atlas,它可以创建osmdroid zip地图集。不确定是否可以使用它来创建osmdroid zip格式。
    • 如果您的源位图不是太大,如果Mobile Atlas创建者没有帮助,您可以手动创建zip。

    问题2: