百度地图 轨迹回放 android,【移动端】百度地图之历史轨迹回放
发布日期:2021-06-24 11:36:59 浏览次数:3 分类:技术文章

本文共 1988 字,大约阅读时间需要 6 分钟。

官方demo本身是有历史轨迹例子的,运行起来也是非常666的,但在此基础上扩展功能是非常操蛋的。在此还耽误了整整两天的时间。后来不得不翻阅文档,重新去找解决的方式。对新方法,经过几次测试,最后功能终于出来了。

本来想抽离出来写个demo,可是嵌套的东西很多,UI界面也经历的三次整改,故而此文屏蔽了很多功能和细节。第二就是,配合前端开发pc端离线地图,时间也不多。故而先在这讲一下实现思路,在后续的文章中,再把功能一个一个剥离出来,但此功能的核心代码只有一行,只有一行,只有一行。是不是感觉不可思议啊。但我想,实现该功能肯定不止一种方法,如果大家有好的方法,请分享出来,小弟感激不尽。

我把业务简单化了。进入轨迹页面,历史轨迹线画好,然后,显示出一个信息框,从起点一直运动到终点。期间,进度条随着信息框同步运动

部分代码如下:

seekbar内部实现细节

public SeekBar.OnSeekBarChangeListener seekBarListener = new SeekBar.OnSeekBarChangeListener() { // 这个是 seekbar的监听事件

@Override

public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

// 省略细节了

int size_latlng = latLngs_list.size(); // 获取坐标基本数据结构集合

// 临时变量 temp ,seekbar的值不断复制给临时变量

HistroyActivity.this.temp = progress + 1;

if(HistroyActivity.this.temp <= size_latlng) { // 小于集合大小时,信心框不断的去显示

HistroyActivity.this.mMapView.removeView(HistroyActivity.this.view1); // 删除前一个信息框,保证只有一个信息框在运动

// 显示运动轨迹

HistroyActivity.this.showRealTrack(latLngs_list.get(HistroyActivity.this.temp-1));

}

}else {

return;

}

}

信息框实现细节

public void showRealTrack( LatLng latLngs_list1){

// 核心代码,是不是只有一行,哈哈。

// 实例化一个自定义view,即信息框的实现,通过addview加入到地图中去

view1 = getLayoutInflater().inflate(R.layout.show_lineinfo,null);

this.mMapView.addView(view1,new MapViewLayoutParams.Builder().layoutMode(MapViewLayoutParams.ELayoutMode.mapMode).position(latLngs_list1).yOffset(30).build());

// 省略细节实现

}

}

控制进度条的进度

public void setBarProgress() {

mSeekBar.setProgress(this.temp-1);

}

开始新的线程,不断的发送消息,控制进度

class HistroyLineThread implements Runnable {

public LineThread() {

}

@Override

public void run() {

int size_histroy = HistroyActivity.this.latLngs_list.size();

// 细节省略

// 循环标志

while (isFlag_) { // 不断的发送消息,通知进度条不断的加1

Object object1 = HistroyActivity.this;

((HistroyActivity)object1).temp += 1;

HistroyActivity.this.histroyHandler.sendEmptyMessage(8000);

HistroyActivity.this.histroyHandler.postDelayed(this,800);

return;

}

}

}

看后,还是有些不解的小伙伴,可以通过留言或以下方式联系我。我们共同学习,共同进步。

欢迎加入我们的大家庭

Android-技术交流:478720016

小密圈是免费加入,比付费的都好。

小密圈:开发者思维

转载地址:https://blog.csdn.net/weixin_32541663/article/details/117318509 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:p30手机更多鸿蒙,搭配麒麟980的华为P30还能升级到鸿蒙吗?同意网友的回答
下一篇:c语言 迷宫图形界面 动态,C语言实现迷宫求解问题(详细思路+附源代码)

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年03月31日 06时43分53秒