安卓实现在百度地图上播放历史轨迹
2013-12-17 09:13
260 查看
我的方法是:在一个线程里,开始播放后,遍历存放item的list,找到当前的item,移除他的marker,然后给他换一个marker,再添加到list里面,然后睡眠;接着就判断,如果不是当前item,该什么样子就什么样子,如此迭代就可以了。
/** 轨迹回放逻辑处理 **/
private Runnable rz = new Runnable()
{
@Override
public synchronized void run()
{
while (isStartRun)
{
for (int i = index; i < mGeoList.size(); i++)
{
OverlayItem item = mGeoList.get(i);
flag = index;
sendMsg(MapApplication.LOCATEOVER_NOTICE_ADAPTER);
mOverlayGraphic.removeItem(item);
item.setMarker(res.get(3));
if (!isBcak)
{
break;
}
mOverlayGraphic.addItem(item);
mMapView.refresh();
SystemUtils.sleep(1000);
mOverlayGraphic.removeItem(item);
if (index == 0)
{
item.setMarker(res.get(1));
}
else if (index == mGeoList.size() - 1)
{
item.setMarker(res.get(2));
isStartRun = false;
isFinish = false;
}
else
{
View view = mInflater.inflate(R.layout.overlay_item, null);
TextView userItemTv1 = (TextView) view.findViewById(R.id.item_tv1);
userItemTv1.setText(index + 1 + "");
Bitmap bmp = userLocateUtil.createNewBitmap(view);
Drawable drawable = new BitmapDrawable(bmp);
item.setMarker(drawable);
}
if (!isBcak)
{
break;
}
mOverlayGraphic.addItem(item);
mMapView.refresh();
index++;
if (!isFinish)
{
index = 0;
sendMsg(MapApplication.LOCATEOVER_PLAY_FINISH);
break;
}
}
}
}
};
原文:http://www.oschina.net/question/992700_120084
/** 轨迹回放逻辑处理 **/
private Runnable rz = new Runnable()
{
@Override
public synchronized void run()
{
while (isStartRun)
{
for (int i = index; i < mGeoList.size(); i++)
{
OverlayItem item = mGeoList.get(i);
flag = index;
sendMsg(MapApplication.LOCATEOVER_NOTICE_ADAPTER);
mOverlayGraphic.removeItem(item);
item.setMarker(res.get(3));
if (!isBcak)
{
break;
}
mOverlayGraphic.addItem(item);
mMapView.refresh();
SystemUtils.sleep(1000);
mOverlayGraphic.removeItem(item);
if (index == 0)
{
item.setMarker(res.get(1));
}
else if (index == mGeoList.size() - 1)
{
item.setMarker(res.get(2));
isStartRun = false;
isFinish = false;
}
else
{
View view = mInflater.inflate(R.layout.overlay_item, null);
TextView userItemTv1 = (TextView) view.findViewById(R.id.item_tv1);
userItemTv1.setText(index + 1 + "");
Bitmap bmp = userLocateUtil.createNewBitmap(view);
Drawable drawable = new BitmapDrawable(bmp);
item.setMarker(drawable);
}
if (!isBcak)
{
break;
}
mOverlayGraphic.addItem(item);
mMapView.refresh();
index++;
if (!isFinish)
{
index = 0;
sendMsg(MapApplication.LOCATEOVER_PLAY_FINISH);
break;
}
}
}
}
};
原文:http://www.oschina.net/question/992700_120084
相关文章推荐
- 安卓实现在百度地图上播放历史轨迹
- 安卓实现在百度地图上播放历史轨迹
- 百度地图中实现历史轨迹显示为BMap.InfoWindow添加多个不同时间点但相同经纬度点的信息
- 百度地图实现轨迹播放
- 安卓关于在百度地图上实现轨迹回放的处理
- 百度地图实现车辆轨迹移动播放(baidu map api)
- 百度地图 历史轨迹播放
- Android 百度地图 行动轨迹用彩色线画出实现方法
- 关于在安卓开发中百度地图功能不能实现定位。
- 类似滴滴打车,多辆小车在地图上平滑移动的实现,基于百度地图实现(无轨迹)
- 【百度地图-安卓SDK】如何实现跨城驾车导航?例如从重庆到北京。
- 安卓开发:怎样实时在百度地图上绘制运动轨迹?
- iOS 开发与安卓平台共通 实现录音文件的录制,上传,下载,播放
- 安卓实现天天动听音乐播放歌词悬浮哦(转)
- 安卓调用百度地图实现
- 安卓开发_慕课网_百度地图_实现模式转换
- 百度地图历史轨迹回放:起止点为坐标点,从后台获取10个途经点
- 安卓首页实现广告循环播放广播
- 安卓学习笔记---实现简易播放器(带有进度条,开始与结束时间,暂停与播放)
- 简单实现安卓里百度地图持续定位