计算路线长度

计算路线长度

问题描述:

我有大约80个注释的地图。我想做3件事。计算路线长度

1)从我目前的位置,我想知道到那个位置的实际路线距离。不是直线距离。我希望能够显示所有注释的列表,但对于每个注释(有lon/lat),我想知道从我的位置到该位置的实际路线距离。

3)我想知道最接近我的位置使用路由距离的注释。不是线性距离。

我认为所有这三点的答案都是一样的。但请记住,我不想创建路线,我只想知道与注释的距离。

我希望有人能帮助我。

最好的问候, 保罗Peelen

我认为正如前面指出的那样,如果您正确执行您所说的话,那么您的查询对于Google地图API来说将非常沉重。你一次需要所有的信息吗?也许首先根据某种启发式或用户需求来查询一些距离就足够了。

要获得的距离,你可以使用谷歌地图GDirections对象......如指出here(在页面的底部有“路线和步骤”栏目,与advanced example

The GDirections object also supports multi-point directions, which can be constructed using the GDirections.loadFromWaypoints() method. This method takes an array of textual input addresses or textual lat/lon points. Each separate waypoint is computed as a separate route and returned in a separate GRoute object, each of which contains a series of GStep objects.

在iPhone中使用Google Maps API应该不会太困难,我认为您的问题没有涵盖这一点,但如果您需要一些基本示例,则可以查看this问题,然后滚动到答案。

祝你好运!

+0

感谢您的信息,我会将我的应用程序改编成iPad,并根据用户的要求实施直接路线。您的链接非常有用!谢谢! – 2010-05-08 19:47:11

+0

没问题保罗,很高兴我帮你。 – Goles 2010-05-09 04:55:00

计算路线距离约80个分支机构,是一定要计算密集的对谷歌的一部分,我无法想象,你将能够使这些请求发送给谷歌地图API ,是否有可能在移动设备上这样做,而不受服务器上电话连接或速率限制的严格限制。

不幸的是,计算路径距离而不是几何距离是一项非常昂贵的计算,涉及大量有关该区域的数据 - 您几乎可以确定没有数据。这意味着,不幸的是,这不是Core Location或MapKit可以帮助您的。

你准备解决什么问题?除了可用于近似某种距离排名的路线距离之外,可能还有其他启发式方法。

从我所了解的您的帖子中,我相信您会寻求Haversine formula。幸运的是,有一些Objective-C implementations,尽管一旦公式出现在你面前,编写自己的代码就变得微不足道了。

我最初删除了这个,因为我没有注意到你最初不想要线性距离,但是如果你决定在用户​​的特定点上近似值足够好的话,相互作用。