关闭

Android 使用百度LBS SDK(六)轨迹回放

标签: Android百度地图SDK轨迹轨迹回放
7104人阅读 评论(7) 收藏 举报
分类:

前篇:

Android使用百度LBS SDK     

(内容:百度地图API基本功能)


Android使用百度LBS SDK(二)

(内容:计算轨迹起始点和终点的直线距离和行驶距离、去掉MapView的缩放空间和百度Logo)


Android使用百度LBS SDK(三)点击地图POI导航 

(内容:击Poi或者地图上任意位置开始导航)


Android使用百度LBS SDK(四) 

(内容:设置导航路线规划策略、搜索框添加一键清除按钮、避免多次进入导航实例)


Android使用百度LBS SDK(五) 

(内容:卫星图、定位模式:普通跟随罗盘、指南针位置、SD卡导入离线地图、在线更新离线地图)


------------------------------------------------------------------------------------------------------------------------------------------

前面实现了轨迹绘制功能,后面添加了轨迹回放功能。

可还原轨迹速度,显示轨迹时间进度,暂停播放轨迹,加速播放。

效果:



------ 红虚线:起始点和终点连接直线

------ 绿虚线:轨迹趋势线

—— 蓝实线:实时绘制的轨迹


  支持x1,x5,x10倍速播放轨迹。


暂停,继续,重复播放。

------------------------------------------------------------------------------------------------------------------------------------------

代码实现:

主要状态:

        /** 播放倍数 */
	private TextView textPlaySpeed;

	/** 播放状态控制图标 */
	private ImageView imagePlayState;

	/** 播放状态:暂停、播放 */
	private boolean isRoutePlaying = true;

	/** 播放时间 */
	private TextView textPlayTime;

	/** 是否播放完毕 */
	private boolean isRouteFinished = false;

	public double mRouteLatitude = 0.0;
	public double mRouteLongitude = 0.0;

	/** 轨迹文件夹路径 */
	private final String ROUTE_PATH = Constant.RouteTrack.PATH;

	/** 当前轨迹的路径 */
	private String filePath = "";

绘制轨迹线程:

		                        nowIndex = 1;
					for (int i = 0; i < points.size(); i++) {
						if (isActivityShowing) {
							if (isRoutePlaying) {
								Message messageFollow = new Message();
								messageFollow.what = 1;
								drawRouteHandler.sendMessage(messageFollow);

								try {
									Thread.sleep(1000 / MyApplication.routePlaySpeed);
								} catch (InterruptedException e) {
									e.printStackTrace();
								}
							} else {
								// 暂停
								do {
									try {
										Thread.sleep(500);
									} catch (InterruptedException e) {
										e.printStackTrace();
									}
								} while (!isRoutePlaying);

							}
						} else {
							MyLog.v("[Loop]Return in case activity is onDestory.");
							return;
						}
					}

绘制轨迹趋势底图,起点终点虚线:

						// 绘制轨迹底图
						PolylineOptions polylineOptionBg = new PolylineOptions();
						polylineOptionBg.width(10); // 折线线宽, 默认为 5, 单位:像素
						polylineOptionBg.dottedLine(true); // 折线是否虚线
						polylineOptionBg.color(0xAA009966); // 折线颜色
						polylineOptionBg.points(points); // 折线坐标点列表:[2,10000],且不能包含null
						polylineOptionBg.keepScale(true); // 纹理宽、高是否保持原比例渲染

						OverlayOptions ooPolyline = polylineOptionBg;
						mBaiduMap.addOverlay(ooPolyline);

						// 绘制起点终点直线
						PolylineOptions polylineOptionDirec = new PolylineOptions();
						polylineOptionDirec.width(10); // 折线线宽, 默认为 5, 单位:像素
						polylineOptionDirec.dottedLine(true); // 折线是否虚线
						polylineOptionDirec.color(0xAAFF0000); // 折线颜色
						List<LatLng> pointStartEnd = new ArrayList<LatLng>(2);
						pointStartEnd.add(points.get(0));
						pointStartEnd.add(points.get(points.size() - 1));

						polylineOptionDirec.points(pointStartEnd); // 折线坐标点列表:[2,10000],且不能包含null
						polylineOptionDirec.keepScale(true); // 纹理宽、高是否保持原比例渲染

						OverlayOptions ooPolylineDirec = polylineOptionDirec;
						mBaiduMap.addOverlay(ooPolylineDirec);


1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

百度地图轨迹回放安卓实例

  • 2015-08-12 14:37
  • 12.12MB
  • 下载

android开发一个定位和轨迹播放的程序

最近很多的跑步app,大概功能就是点击“开始”就自动定位,然后记录位置,上传到服务端(也有不上传的),最后将运动的轨迹在地图上显示出来。因为开启gps一般是每3、5秒就记录一下当前的gps,为此需要一...
  • cctcc
  • cctcc
  • 2015-11-27 17:54
  • 5109

百度地图API四:实现轨迹动态回放功能

本文记录 百度地图实现实现 轨迹回放的功能。   所谓轨迹回放功能。 是指选择某个时间段,然后在地图上再现这个时间段内轨迹的出现情况。 什么时候出现了第几个轨迹点。隔几秒出现下一个轨迹 点。
  • liusaint1992
  • liusaint1992
  • 2015-11-28 15:43
  • 17807

百度地图API实现轨迹动态回放并控制回放速度

百度地图实现动态回放并控制回放速度,介绍了几个主要函数,代码直接可用。
  • Coder_XiaoHui
  • Coder_XiaoHui
  • 2017-03-29 21:30
  • 3537

android 百度地图轨迹回放

android百度地图实现轨迹回放,就需要用PolylineOptions画线作为轨迹效果,和添加覆盖物移动就可以了 package baidumapsdk.demo; import j...
  • aojiancc2
  • aojiancc2
  • 2015-03-14 19:48
  • 2534

安卓实现在百度地图上播放历史轨迹

把一个人一个月的轨迹历史描绘出来,并实现按时间顺序回放。小弟菜鸟一枚,代码质量不高,高手勿喷,谢谢。 关于描点和描线,百度地图都有自己的API,大家都应该会了;至于播放动画,肯定不止一种方法,如果大...
  • jiankeufo
  • jiankeufo
  • 2015-02-06 10:12
  • 1057

百度地图:行走轨迹,轨迹回放

  • 2013-09-27 10:58
  • 4.06MB
  • 下载

百度地图轨迹回放demo

  • 2015-11-24 10:58
  • 6.50MB
  • 下载

百度地图——显示小车轨迹动画回放

百度地图,Android显示车辆轨迹动画 初次设计想就用百度自带的显示覆盖物的方式,计算两个坐标点的距离,添加短距离的坐标点,然后在密密麻麻的坐标点之间显示,隐藏覆盖物,形成移动的视觉效果。 后来发现...
  • baidu_16668271
  • baidu_16668271
  • 2016-09-23 17:28
  • 3098

高德地图轨迹回放Demo(Android)

  • 2014-12-10 00:14
  • 5.70MB
  • 下载
    个人资料
    • 访问:711992次
    • 积分:7640
    • 等级:
    • 排名:第3265名
    • 原创:169篇
    • 转载:0篇
    • 译文:0篇
    • 评论:161条
    博客专栏
    时间过得好快。
    Alex Zhou