Ios 如何在iphone上本地存储openstreetmap数据
我正在为大学做一个项目,其中的一部分我遇到了很大的困难 简单地说,我希望做以下5件事:Ios 如何在iphone上本地存储openstreetmap数据,ios,ios6,openstreetmap,Ios,Ios6,Openstreetmap,我正在为大学做一个项目,其中的一部分我遇到了很大的困难 简单地说,我希望做以下5件事: 下载我所在城市的开放式街道地图数据 将数据本地存储在手机硬盘上 将iOS应用程序中的数据作为地图查看 在地图上放置标记 沿着这些路径之间的道路绘制路径 我已经为这个项目的这一部分工作了好几个星期,但我没有取得任何进展。我甚至不知道如何在手机上存储地图,更不用说查看地图数据了。我尝试过使用“Route Me”库,但无法使其正常工作(尽管它似乎是使用openstreetmap数据的最佳库之一,所以我希望了解如何使
任何建议或反馈都将不胜感激我建议您尝试一下。它实际上是从Route Me库中派生出来的,将允许您完成列表中的所有内容 需要记住的一个关键点是,在下载OSM数据和将其本地存储在iOS设备之间还有另一个步骤,即生成地图分幅并将其存储在某种数据库中
是一个使用MapBox SDK的iOS应用程序示例,它既有在线地图源,也有离线地图源,是一个很好的起点。以下是我最终解决问题的方法 由于Tilemill不以本机方式读取
.osm/.o5m/.pbf
文件,因此我使用渗透功能将.osm
文件转换为.shp
文件
然后,我在Tilemill中创建了一个新项目,并将特定的.shp
文件作为层添加到新项目中。要让地图看起来像你想要的那样需要一点修改,但它非常类似于css,并且很容易在运行时找到
一旦我让地图按我想要的方式显示,我就将其导出为.mbtiles
文件。这需要很长的时间来制作,文件可能非常大,这取决于瓷砖的详细程度。我画了一张爱尔兰地图,缩放级别在7-14之间(含7-14),我画了一张都柏林市地图,缩放级别在11-17之间(含11-17)。尽管都柏林市的地图上的瓷砖要少得多,但它们的大小都在200MB左右
然后,我在网上找到了本教程,其中介绍了如何在应用程序中存储.mbtiles
文件以及如何读取该文件:
以下是我发现有用的几个其他链接:
我希望这对其他人有用非常感谢您的回复,我将立即调查此事!您是如何减小.mbtiles文件的大小的?我这样问是因为我的也太大了,我可以在我的应用程序中导入它。我减少了一个应用程序中使用的层的数量。我将图像类型更改为png8(或其他更小的图像),并通过取出我不需要的东西来定制地图,这些东西仍然是70-80MB