OpenStreetMap-处理离线地图的java库



我需要创建一个在linux系统上运行的应用程序。基本上,我想实现类似谷歌地图的功能,但功能要少得多。应用程序需要能够执行以下操作:

  • 打开并显示脱机地图,因为不会有任何互联网连接
  • 会有一条静态路线,就像铁路一样,必须显示出来,它不会改变
  • 将会有一个动态变化的点,它应该被更新

我从来没有真正开发过这种应用程序,我只将谷歌地图用于android v2,这是非常直接的,所以我不会有任何问题,但如果没有互联网连接,这不是一个选择。以下是我的问题:

  • 我下载了.osm格式的地图,这是我需要的。如果我理解正确,我需要使用Mapnik之类的东西来预渲染这些文件。这种方法正确吗?如果是,如何使用Mapnik进行此渲染?如果没有,你推荐什么
  • 假设我已经完成了渲染部分。如果我理解正确,现在我应该使用类似JMapViewer的东西。我应该将.jar导入到我的项目中,然后这个api将提供一个mapview,通过一些编码,我可以使用这个api来显示我已经渲染的离线地图。这是正确的吗

此外,如果你能提出任何对我有帮助的建议,我将不胜感激。

提前感谢,欢呼

基本上,您必须遵循以下步骤:

  • 设置一个mapnik服务器,加载*.osm文件并预先呈现您需要的所有瓦片。(将它们存储在某种zip存档中,因为在更高的缩放级别中,它们变得相当大,您还可以填充硬盘驱动器上扇区中未使用的空间[tar.gz])
  • 编写从AbstractOsmTileSource扩展到存储数据的自己的类
  • 编写自己的类来实现TileLoader接口,以便从归档中加载所需的tile
  • 创建JMapViewer的实例,并设置以前定义的TileLoader和TileSource
  • 将铁路添加为MapPolygon
  • 将当前位置添加为MapMarker

相关内容

  • 没有找到相关文章

最新更新