首页 > 关于iOS高德地图的几个问题

关于iOS高德地图的几个问题

这几天在做一个关于跑步的app,自己做了一个记录跑步轨迹的demo,但是有几个问题想请教一下:

1.在起始位置的定位误差较大,请问如何排除这一地方的误差?

对于问题1,个人感觉是由于GPS定位尚未稳定,所以进行划线的定位点跳跃太大。只要待GPS定位稳定后,再进行记录就可。

2.在运动过程中,画出的线段不平滑,如何将这些短线段拟合成平滑曲线?

没有一个好的算法,进行对采样点轨迹进行拟合。

希望大家提供解决思路,以下是实际测试的轨迹图。


呵呵我以前是高德的,可惜不是AMAP团队的。

  1. 第一个问题你说对了, CLLocation 经纬度信息中有 精度的,如果偏差很大就不要记录了。

  2. 第二问题就是抽稀问题了,很巧我也做过一个自行车记录的APP,如果想把线变得平滑我有个好算法(亲测)

思路: 遍历记录的GPS位置点,相邻的两个比对,把前后速度方向偏差在15度之内的点删掉,就可以绘制出一条美观的路径图。

当然你要根据具体需要,决定这个角度阀值是多少,是不是很简单?

祝你好运。


对于第一个问题,在国内apple使用的是高德地图,坐标系是GCJ02。使用CoreLocation获取的坐标,获取的坐标应该是基于WGS84,使用中会出现误差。可以使用MKMap提供的API,在高德地图中不会出现误差。

问题2,不清楚你画线使用的是什么方法,UIBezierPath应该可以。我在做OS X开发的时候使用NSBezierPath可以完美的划线。

仅供参考,欢迎探讨交流。


你是通过 CLLocationManager 拿的坐标呢还是通过地图直接拿的呢? 如果是 CLLocationManager 的话,存在一个火星坐标转换的问题,你的第一个问题有可能跟这个有关。

【热门文章】
【热门文章】