Android 使用百度LBS SDK(六)轨迹回放
来源:互联网 发布:淘宝店铺排名查询软件 编辑:程序博客网 时间:2024/05/28 15:37
前篇:
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],且不能包含nullpolylineOptionBg.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],且不能包含nullpolylineOptionDirec.keepScale(true); // 纹理宽、高是否保持原比例渲染OverlayOptions ooPolylineDirec = polylineOptionDirec;mBaiduMap.addOverlay(ooPolylineDirec);
- Android 使用百度LBS SDK(六)轨迹回放
- Android 使用百度LBS SDK(二)
- Android 使用百度LBS SDK(四)
- Android 使用百度LBS SDK(五)
- Android 使用百度LBS SDK
- android 百度地图轨迹回放
- Android百度地图轨迹回放
- 使用百度地图API实现轨迹回放
- 使用百度地图API实现轨迹回放
- 使用百度API实现轨迹回放
- 轨迹回放 百度地图
- 百度地图 - 轨迹回放
- 百度LBS开放平台Android SDK产品使用
- Android 使用百度LBS SDK(三)点击地图POI导航
- Android-百度地图鹰眼轨迹SDK使用全解析
- 百度地图轨迹回放代码
- Android 百度鹰眼轨迹SDK(v2.1.6)
- Android 百度鹰眼轨迹SDK(v2.1.6)
- SQL Server创建分区表
- 多种垃圾回收器简介
- Java垃圾回收参数配置
- JVM虚拟机工作流程,JVM虚拟机的体系结构
- KeyChine的使用
- Android 使用百度LBS SDK(六)轨迹回放
- DIV+CSS实操三:经管系网页内容模块添加标题栏和版权信息模块
- SVProgressHUD 和 MBProgressHUD 用法
- android studio 启动的时候报错start failed internal error
- .\led.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.错误根本原因找到了
- 基于MATLAB的图像增强
- MIT CS课程
- UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释
- Android Studio 中实现简单的定时器代码