【问题标题】:Create new geographical map data or use modified maps创建新的地理地图数据或使用修改后的地图
【发布时间】:2011-10-04 07:02:18
【问题描述】:

我正在开发一个 iPhone 应用程序,该应用程序需要在有限的区域内进行路由,例如公园、历史名胜、热门市场或该国的偏远地区。

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

我知道我可以编辑地图(例如 OSM)以标记 POI,但我不希望未经我的许可更改这些地图(可能我需要在编辑后将它们托管在我的服务器上?)

我还需要根据用户的当前位置为同一区域提供路由和导航支持。根据许可证:

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

如果我使用 Google 地图,则不允许实时路由。

如果我想为该地区创建自己的地图,是否可取。

【问题讨论】:

    标签: iphone google-maps openstreetmap gis cartography


    【解决方案1】:

    原则上,没有什么可以阻止您获取 OpenStreetMap 数据的区域,将其存储在您自己的服务器或设备上,然后不再从 OpenStreetMap 社区引入任何进一步的更新,从而消除对 OpenStreetMap 贡献者的任何担忧未经您的许可更改内容。

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

    首先获取一大块 OpenStreetMap 数据,添加到其中,然后将其分开...这很简单 :-)

    【讨论】:

    • 感谢您的回答。我只是想知道您如何执行最短路径计算。目前我所知道的是你可以通过查询 OSM 服务器来做到这一点。但由于将数据存储在我的服务器上似乎更好,这样做的前提数据集是什么?
    • 那是另一个问题。如果您在help.openstreetmap.org 上询问,您可能会引起更多知识渊博的 OpenStreetMap 人员的注意,但无论如何,作为起点,这里列出了用于执行路由的各种开源代码:wiki.openstreetmap.org/wiki/Routing
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-13
    • 1970-01-01
    • 2020-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多