我的应用程序需要从一组 10 个步行点中获取距离用户“最近”的步行点。我已经看到 MKDirections 使用“calculateDirectionsWithCompletionHandler”针对单个源、目标位置执行此操作。我的问题是,我是否必须发出 10 个请求,然后检查哪一个是距离最近的一个,还是有一种方法可以发送多个目的地,而响应将是最近的步行?
谢谢
据我所知,没有办法为一个指定两个以上的点MKDirections
要求。您提出的创建 10 个单独请求的解决方案理论上应该可行,但请记住:
MKDirections
不会在设备上本地计算方向,而是访问远程 API,由远程 API 计算方向并返回响应。如果您要计算 10 条路线,则用户在等待返回所有结果时可能会出现明显的延迟。
因为方向是使用远程 API 计算的,苹果可能会对这样的事情皱眉——如果你太频繁地使用他们的方向 API,他们可能会限制你,或者当应用程序提交到 App Store 时,如果他们看到,他们可能会拒绝该应用程序这件事正在发生。
我不确定您的确切要求,但根据您需要的精度,一种解决方案可能是使用以下方法计算起点和每个终点之间的距离半正矢公式 http://en.wikipedia.org/wiki/Haversine_formula,这将为您提供两点之间的直线距离。由于您正在计算步行方向(与开车相反,开车时您只能遵循特定道路并受交通影响),因此这些计算中的最近距离可能是实际步行距离/时间最接近的距离,此时然后你可以做一个MKDirections
要求提供这些详细信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)