【发布时间】:2014-10-07 15:53:38
【问题描述】:
我有一条路线(MKPolyline 派生自从 Apple 的 MKDirections API 检索的 MKRoute)和一组靠近路线的兴趣点(MKAnnotations 数组)。
我想知道如何选择用户将在路线后遇到的下一个 POI,以便通过 UI 呈现它。
我想到了两种不同的方法,但没有一个是真正足够的:
第一个方法是在每次足够接近 POI 时将其标记为已检查,并简单地显示数组中第一个未标记的 POI(我们假设它们的顺序正确)。问题是,如果出于某种原因或另一个 POI 没有被检查,那么应用程序将永远显示它,而不是显示实际的下一个 POI。这种情况可能会出现,例如如果用户遵循的路线与建议的路线略有不同,则说明该路线距离 POI 不够近,无法对其进行检查;或者用户在第一个 POI 之后开始导航;等等。
第二个是选择离用户最近的 POI(可能还带有标记系统以避免显示您刚刚检查的 POI)。但这仅适用于足够直的路线:有时在山区或其他蜿蜒的路线中,您可以更接近稍后实际穿越的点。我预计这种情况实际上会经常发生。
有什么想法吗?
【问题讨论】: