Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 以编程方式遵循谷歌的指示?_Ios_Google Maps_Gps_Core Location_Driving Directions - Fatal编程技术网

Ios 以编程方式遵循谷歌的指示?

Ios 以编程方式遵循谷歌的指示?,ios,google-maps,gps,core-location,driving-directions,Ios,Google Maps,Gps,Core Location,Driving Directions,我正在构建一个iPad应用程序,该应用程序将提供一个屏幕一个屏幕的方向演练,这些方向来自谷歌的方向API。我想使用CoreLocation通过物理空间跟踪用户的进度,并更新屏幕以跟踪用户,类似于大多数应用程序 我最初的想法大致如下: 对于方向上的每个步骤,抓住相应的多段线 更新CoreLocation时,检查lat/long对是否位于多段线上某点的某个增量内(即,迭代多段线上的所有点) 如果位置在多段线内,请保持在同一屏幕上 如果不在多段线上,检查用户是否在下一步(比如10个点)多段线某个子集的

我正在构建一个iPad应用程序,该应用程序将提供一个屏幕一个屏幕的方向演练,这些方向来自谷歌的方向API。我想使用CoreLocation通过物理空间跟踪用户的进度,并更新屏幕以跟踪用户,类似于大多数应用程序

我最初的想法大致如下:

  • 对于方向上的每个步骤,抓住相应的多段线
  • 更新CoreLocation时,检查lat/long对是否位于多段线上某点的某个增量内(即,迭代多段线上的所有点)
  • 如果位置在多段线内,请保持在同一屏幕上
  • 如果不在多段线上,检查用户是否在下一步(比如10个点)多段线某个子集的相同增量内,如果是,则进入下一屏幕
  • 如果不在下一条多段线上,请提醒用户他们已离开管线

  • 这似乎效率低下,也不是特别准确。。。有更好的方法吗?

    如果不一直迭代整个多段线,效率也不会太低。使用与你相关的部分。从头开始(显然)制作多段线的可变副本,并删除已访问的零件。如果你考虑最后一次更新的方向和速度,你可以对哪些部分感兴趣。霍格尔,谢谢你的回复。这正是我们所做的,虽然效率不算太低,但我仍然认为有可能改进。也就是说,投赞成票:)