我正在构建一个iPad应用程序,该应用程序将显示来自Google Directions API的方向的屏幕演示。我想使用CoreLocation跟踪用户在物理空间中的进度,并更新屏幕以跟随用户,类似于大多数方向应用程序。
我最初的想法是这样的:
- 对于路线中的每个步骤,请抓取相应的折线
- 当CoreLocation更新时,检查纬线/长线对是否在折线上某个点的某个增量范围内(即迭代折线上的所有点)。
- 如果位置在折线内,请保持在同一屏幕上
- 如果不在折线上,请检查用户是否在下一步(例如10个点)的折线的某个子集的相同增量内,如果是,则前进到下一个屏幕。
- 如果不在下一个折线上,请提醒用户他们已离开该路线。
醇>
这似乎效率低下且不太准确......是否有更好的方法来做到这一点?