在到达目的地之前调用 routingServiceDidReachDestination

routingServiceDidReachDestination called before reaching destination

在iOS SKMaps SDK中,方法routingServiceDidReachDestination在到达目的地之前被调用。我知道这可能是您开车时的预期功能,但对于步行或骑自行车来说,在两个街区之前收到 "you reached destination" 消息可能不是您所需要的。

当您确实到达目的地时,是否有任何解决方法来发送此消息?

这归结为定位器和定位逻辑 - 位置传感器 (GPS/network) 将报告与道路某处匹配的特定位置。

如果有足够多的此类位置表明您是 "at" 您的目的地(或在某个特定点),则 SDK 将做出相应的反应。 "at" 因素受以下因素影响:

  • 位置读数
  • 位置读数(GPS精度)"accuracy"
  • 与 "accuracy" 相连,某个位置周围有一个 "buffer"(您可能所在的区域取决于位置读数的准确性
  • 你的移动速度
  • 内部定位器逻辑(如果是的话,它决定你在哪条路上)。对于行人导航配置文件,定位器应使用 "raw" 位置,而对于汽车导航配置文件,它将使用 "matched to road" 位置

根据上述逻辑,可能是在道路密度高的地区,定位精度低和汽车导航配置文件,您可能 "matched" 走错了路(因此到达了目的地) .行人路线配置文件可能会更好,但这种情况仍然会发生。

努力提供最好的位置读取。如果有明显错误("two blocks away" 肯定是错误的),您可以提交错误报告。