3

嗨,在 LocationManager 的帮助下,我设法在 android 中找到了当前位置。为了显示两个地理坐标之间的路线,我应该使用什么,这样我就不会绘制空中距离,而是会显示地面路线,还是在 json 的帮助下我可以绘制路线。

我试过 polyLine() 但它给出了直线。

4

3 回答 3

1

要计算出两点之间的线,您需要知道您使用的地图投影类型。一些地图投影保留了形状(因此角度),其他的则没有。看看http://www.progonos.com/furuti/MapProj/Dither/CartProp/ShapePres/shapePres.html它可能会有所帮助。

如果您使用的是墨卡托投影,那么我发现此页面声称 C# 中的算法应该为您指明方向:http ://conceptdev.blogspot.co.uk/2009/01/great-circles.html

至于线段,多段线将在点之间给出直线。您需要使用 Path 并从内存中使用 Bézier 曲线方法 Path.cubicTo() 和 Path.rCubicTo()。

于 2013-03-04T18:29:56.100 回答
1

您是否在清单中设置了所有权限?此外,您必须启用定位服务(状态栏中的 gps 图标是否显示?)。设备获取位置需要一些时间,因此请查看是否调用了 onLocationChanged。

于 2013-03-13T08:33:55.553 回答
0

在这里你可以找到你的问题的答案:

有没有办法在 Google Map API v2 中显示道路方向?

和这里:

使用 Google Maps API v2 获取行车路线

基本上你应该做的是调用 Google Directions API 接收道路方向坐标(许多 Latlng 点),然后在每个坐标点之间绘制一条折线。

于 2013-03-04T18:47:55.517 回答