2011-02-24 122 views
4

我正在开发一个iPhone应用程序,它嵌入了使用mkmapkit制作的mapView。 我得到了两个坐标,我正在追踪这两点之间的方向。IPhone:谷歌地图方向

一切正常。我正在使用Google Maps 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,你可以理解为什么一个比更准确其他...

+1

正确的API链接http://code.google.com/apis/maps/documentation/directions/ – 2011-02-24 10:07:12

回答

6

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

谷歌文档: 步骤阵列 中的每个元素定义了 计算方向的单个步骤。步骤是一个方向的 路线的 最小单位,包含一个单一的步骤 描述旅途一个特定的,单 指令。例如。 “在第四街的左转 ”不仅 步骤描述了指令也 包含距离和持续时间 与本步骤 如何涉及以下步骤的信息。对于 的示例,表示为“合并到 I-80West”的步骤可以包含“37英里”和“40分钟”的持续时间,其指示下一步距此步骤37英里/ 40分钟。

当你走路的时候,你为了得到最短的路线而轮流出场。

的方向API并不为你提供匹配走过的道路实际上是确切的覆盖。只有您进行更改的职位。

或者你可以看看在答复overview_polyline领域。它可能比使用航点更平滑。

+2

非常感谢,它的工作原理就像一个魅力!我自定义此功能来解析多段线字段:http://fkn1337.com/decode-google-maps-polylines-objective-c/ – Bejil 2011-02-24 12:29:05

+0

如何将我的问题标记为已回答? – Bejil 2011-02-24 12:33:57

+0

只需点击您要接受的答案左侧的复选标记 – 2011-02-24 20:15:36