0

我正在研究需要在有限的区域内进行路由的iphone应用,例如国家的公园,历史景点,热门市场或偏远地区。创建新的地理地图数据或使用修改后的地图

鉴于谷歌地图,openstreetmaps或任何其他地图不应该有我的应用程序应该工作的区域内的确切地点,什么是最好的或可能的方式来执行此要求?

我知道我可以编辑的地图(如OSM)来标记的POI,但我不希望这些改变没有我的允许(可能我会要求编辑后收留他们在我的服务器上?)

我还需要为相同区域提供路由和导航支持,具体取决于用户的当前位置。根据许可证:如果我使用谷歌地图

http://code.google.com/intl/de/apis/maps/iphone/terms.html

实时路由是不允许的。

如果我想为该地区创建我自己的地图,建议使用它。

回答

1

原则上,没有什么可以阻止您获取OpenStreetMap数据区域,将其存储在您自己的服务器或设备上,然后只是不会从OpenStreetMap社区引入任何更新,从而消除对OpenStreetMap的任何担忧贡献者在未经您许可的情况下改变事物

在实践中,您需要做一些相当深入的开发工作来构建由一些OSM数据支持的iPhone应用程序。我没有描述一个开箱即用的解决方案。在实现这一点时,首先您可以选择光栅格式(地图区域表示为平铺图像)或矢量格式(osm XML格式,或者您自己的格式)。实际上,你需要一个向量表示来进行路由计算,但是你也许可以将路由查询结果作为叠加层进行平铺光栅显示。您需要决定是否需要路由计算在设备上运行或在自己的服务器上运行。

以OpenStreetMap的数据摆在首位一大块,加入到它,并保持它分开......那是很容易位:-)

+0

感谢您的回答。我只是想知道你如何执行最短路线计算。目前我所知道的是你可以通过查询OSM服务器来做到这一点。但是,由于将数据存储在我的服务器上似乎更好,因此这样做的前提条件是什么? – krammer

+1

这是另一个问题。如果您在http://help.openstreetmap.org上提问,您可能会注意到更多知识渊博的OpenStreetMap民间人士,不过无论如何,作为一个起点,开放源代码的各种位置在此处列出:http:// http:// wiki.openstreetmap.org/wiki/Routing –