我正在开发一款需要在有限区域内进行路由的iphone应用程序,例如公园,历史名胜,热门市场或该国的偏远地区。
鉴于谷歌地图,openstreetmaps或任何其他地图不应该在我的应用程序应该工作的区域内具有确切的兴趣点,那么执行此要求的最佳或可能方式是什么?
我知道我可以编辑地图(例如OSM)以标记POI,但我不希望未经我的许可进行更改(可能我需要在编辑后将其托管在我的服务器上?)
我还需要根据用户的当前位置为同一区域提供路由和导航支持。根据许可证:
如果我使用Google地图,则不允许实时路由。
如果我想为该地区创建自己的地图,那是否可取。
答案 0 :(得分:1)
原则上,没有什么可以阻止你占用OpenStreetMap数据区域,将其存储在你自己的服务器或设备上,然后不要从OpenStreetMap社区引入任何进一步的更新,从而消除对OpenStreetMap贡献者的任何担忧在未经您许可的情况下更换东西。
在实践中,您需要做一些相当深入的开发工作来构建由某些OSM数据支持的iPhone应用程序。我没有描述开箱即用的解决方案。实现这一点时,首先您可以选择栅格格式(地图区域表示为平铺图像)或矢量格式(osm XML格式,或者您可能是自己的格式)。实际上你需要一个矢量表示来进行路由计算,但你可能有一个平铺的光栅显示,路由查询结果作为叠加。您需要决定是否要在设备上运行路由计算或在您自己的服务器上运行。
首先获取一大块OpenStreetMap数据,添加它,并将其分开......这很容易: - )