4

我正在开发一个嵌入了使用 mkmapkit 制作的 mapView 的 iPhone 应用程序。我有两个坐标,我正在追踪这两个点之间的方向。

一切正常。我正在使用谷歌地图 api:maps.googleapis.com/maps/api/directions 来检索包含方向的所有步骤的 xml。

但有一点很奇怪:我就是不明白为什么行车方向不准确。在两步之间,它沿着一条正确的路线走,而不是沿着道路走,而步行旅行模式沿着道路追踪一个非常准确的方向。

驾驶模式: http: //www.michael-blin.fr/misc/aden/google/driving.png

步行模式: http: //www.michael-blin.fr/misc/aden/google/walking.png

我的问题很简单:你曾经使用过谷歌地图 api,你能理解为什么一个比另一个更准确......

4

1 回答 1

6

您的行车路线似乎将您带到主要道路或高速公路,因此这些点之间的行车路线没有变化。您还没有说明您从方向 api 获得的回复,但我的猜测是您正在接收沿着您必须改变方向的路线的步骤,例如。高速公路路口等:

Google 文档: steps 数组中的每个元素都定义了计算方向的一个步骤。步骤是方向路线的最原子单位,包含描述旅程中特定的单个指令的单个步骤。例如“在 W. 4th St. 左转。” 该步骤不仅描述了指令,还包含与该步骤如何与下一个步骤相关的距离和持续时间信息。例如,表示为“Merge into I-80 West”的步骤可能包含“37 英里”和“40 分钟”的持续时间,表示下一步距离该步骤 37 英里/40 分钟。

当你走路时,你会更频繁地轮流以获得最短的路线。

路线 api 不会为您提供与实际行驶道路相匹配的确切叠加层。只有您进行更改的位置。

或者,您可以查看overview_polyline回复中的字段。与使用航点相比,它可能具有更平滑的路径。

于 2011-02-24T10:17:19.947 回答