我正在为一所大学开展项目,我对其中的一部分工作非常困难。
简单地说,我希望做以下5件事:
下载我所在城市的开放街道地图数据
将数据本地存储在手机的硬盘上。
将我的iOS应用程序中的数据视为地图
在地图上放置标记。
沿着这些路径之间的道路绘制路径。
我已经在这个项目的这个特定部分工作了几个星期,而我却无处可去。我甚至无法弄清楚如何在手机上存储地图,更不用说查看地图数据了。我尝试过使用“Route-Me”库但无法使其工作(虽然它似乎是使用openstreetmap数据的最佳库之一,所以我希望学习如何使用它)。我觉得自己很失败了。
如果有人完成了我想要做的任何任务,请将您链接到您使用过的教程/指南/视频。
我不是在寻找人们给我代码或为我做工作,我想学习如何做到这一点,但如果有人能指出我可以学习的网站的正确方向,我会非常感激。
非常感谢任何建议或反馈
答案 0 :(得分:5)
以下是我最终解决问题的方法。
由于Tilemill本身不读取.osm/.o5m/.pbf
个文件,因此我使用Osmosis将.osm
文件转换为.shp
个文件。
然后我在Tilemill中创建了一个新项目,并将我想要的特定.shp
文件作为图层添加到新项目中。要让地图看起来像你想要它需要一点点的修修补补,但它与css非常相似,并且很容易随便拿起。
一旦我按照我想要的方式查看地图,我就将其导出为.mbtiles
文件。这需要很长时间,并且文件可能非常大,具体取决于磁贴的详细程度。我做了一张爱尔兰地图,缩放级别在7-14之间,我做了一张都柏林城市的地图,缩放级别为11-17。尽管都柏林市的地图上的瓷砖要少得多,但它们的尺寸都大约为200MB。
然后我在网上找到了这个教程,它解释了如何在您的应用程序中存储.mbtiles
文件以及如何阅读它:http://martinsikora.com/creating-mbtiles-db-for-ios-mapbox-from-hi-res-map-image
以下是我发现有用的一些其他链接:
http://www.kindle-maps.com/blog/using-tilemill-with-openstreetmap-data.html
http://mapbox.com/developers/mbtiles/
http://mapbox.com/mapbox-ios-sdk/api/
http://mapbox.com/developers/api/#static_api
http://support.mapbox.com/discussions
我希望这对某人有用
答案 1 :(得分:4)
我建议您尝试MapBox iOS SDK。它实际上来自Route-Me库,可以让你完成列表中的所有内容。
要记住的一个要点是,在下载OSM数据并将其本地存储在iOS设备之间还有另一个步骤,即生成地图图块并将其存储在某种数据库中。
Here是一个使用MapBox SDK的iOS应用程序示例,该应用程序包含在线和离线地图源,是一个很好的起点。