为了账号安全,请及时绑定邮箱和手机立即绑定

iOS开发-在地图上绘制运行轨迹

标签:
iOS

   iOS中的MapKit集成了google地图api的很多功能加上iOS的定位的功能,我们就可以实现将你运行的轨迹绘制到地图上面。这个功能非常有用,比如汽车的gprs追踪、人员追踪、快递追踪等等。这篇文章我们将使用Map Kit和iOS的定位功能,将你的运行轨迹绘制在地图上面。

实现

   在之前的一篇文章:iOS开发之在google地图上显示自己的位置中描述了如何在地图上显示自己的位置,如果我们将这些位置先保存起来,然后串联起来绘制到地图上面,那就是我们的运行轨迹了。

    首先我们看下如何在地图上绘制曲线。在Map Kit中提供了一个叫MKPolyline的类,我们可以利用它来绘制曲线,先看个简单的例子。

    使用下面代码从一个文件中读取出经纬度,然后创建一个路径:MKPolyline实例。

复制代码

free(pointArr);

}

复制代码

将这个路径MKPolyline对象添加到地图上

[self.mapView addOverlay:self.routeLine];

显示在地图上:

复制代码

 overlayView;

}

复制代码

看下从文件中读取数据绘制的轨迹路径效果:

然后我们在从文件中读取位置的方法改成从用gprs等方法获取当前位置。

第一步:创建一个CLLocationManager实例第二步:设置CLLocationManager实例委托和精度第三步:设置距离筛选器distanceFilter第四步:启动请求代码如下:复制代码

;
    [locationMgr startUpdatingLocation];
    
    
}

复制代码

上面的代码我定义了一个数组,用于保存运行轨迹的经纬度。

每次通知更新当前位置的时候,我们将当前位置的经纬度放到这个数组中,并重新绘制路径,代码如下:

复制代码

    [self zoomInOnRoute];
         
}

复制代码

我们将前面从文件获取经纬度创建轨迹的代码修改成从这个数组中取值就行了:

复制代码

 southWestPoint.y);
    
    free(pointArr);
    
}

复制代码

这样我们就将我们运行得轨迹绘制google地图上面了。

扩展:

    如果你想使用其他的地图,比如百度地图,其实也很方便。可以将百度地图放置到UIWebView中间,通过iOS开发之Objective-C与JavaScript的交互 这篇文章的方法,用js去绘制轨迹。

总结这篇文章我们介绍了一种常见的技术实现:在地图上绘制出你运行的轨迹。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消