计算路线长度
我有大约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问题,然后滚动到答案。
祝你好运!
计算路线距离约80个分支机构,是一定要计算密集的对谷歌的一部分,我无法想象,你将能够使这些请求发送给谷歌地图API ,是否有可能在移动设备上这样做,而不受服务器上电话连接或速率限制的严格限制。
不幸的是,计算路径距离而不是几何距离是一项非常昂贵的计算,涉及大量有关该区域的数据 - 您几乎可以确定没有数据。这意味着,不幸的是,这不是Core Location或MapKit可以帮助您的。
你准备解决什么问题?除了可用于近似某种距离排名的路线距离之外,可能还有其他启发式方法。
从我所了解的您的帖子中,我相信您会寻求Haversine formula。幸运的是,有一些Objective-C implementations,尽管一旦公式出现在你面前,编写自己的代码就变得微不足道了。
我最初删除了这个,因为我没有注意到你最初不想要线性距离,但是如果你决定在用户的特定点上近似值足够好的话,相互作用。
感谢您的信息,我会将我的应用程序改编成iPad,并根据用户的要求实施直接路线。您的链接非常有用!谢谢! – 2010-05-08 19:47:11
没问题保罗,很高兴我帮你。 – Goles 2010-05-09 04:55:00