java - 高德地图平滑移动问题
问题描述
public void startMove() { LatLngBounds.Builder b = LatLngBounds.builder(); for (int i = 0; i < latLngs.size(); i++) {b.include(latLngs.get(i)); } LatLngBounds bounds = b.build(); mAMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 100)); // 取轨迹点的第一个点 作为 平滑移动的启动 LatLng drivePoint = latLngs.get(0); Pair<Integer, LatLng> pair = SpatialRelationUtil.calShortestDistancePoint(latLngs, drivePoint); latLngs.set(pair.first, drivePoint); final List<LatLng> subList = latLngs.subList(pair.first, latLngs.size()); // 设置轨迹点 smoothMarker.setPoints(subList); // 设置平滑移动的总时间 单位 秒 smoothMarker.setTotalDuration(100); // 开始移动 smoothMarker.startSmoothMove(); // 设置移动的监听事件 返回 距终点的距离 单位 米 smoothMarker.setMoveListener(new SmoothMoveMarker.MoveListener() {@Overridepublic void move(final double distance) {runOnUiThread(new Runnable() {@Overridepublic void run() {} });} });}
// 我这边需要实现历史轨迹,并且显示跑的路线,线已经画好,这是启动跑起来的方法。
这边需要同时显示速度,速度拿到全部点的速度的集合了,但是无法对应起来。有没有什么解决方法可以到某个点的时候实时显示当前的速度的回调或者方法。另求助实时获取经纬度后如何实时地图显示的方法。 高德地图
问题解答
回答1:在 smoothMarker.setMoveListener 这个监听中可以 用到getIndex获取到当前队列的下标,所以可以根据下标获取到当前速度并设置
相关文章:
1. css3 - 请问一下在移动端CSS布局布局中通常需要用到哪些元素,属性?2. android - 使用vue.js进行原生开发如何进行Class绑定3. 网页爬虫 - python requests爬虫,如何post payload4. PHP能实现百度网盘的自动化么?5. node.js - 微信的自动回复问题6. javascript - 百度图片切换图片时url会改变,但无刷新,没用hash,IE8也支持,请问是用了什么技术?7. MySQL 水平拆分之后,自动增长的ID有什么好的解决办法?8. 我正在使用jsp / jstl / spring动态生成css和js。如何将此结果放置在头部的链接标签中。不在头部的脚本标签中9. angular.js - 各位大神们,你们混合开发,web方式中更推荐用什么框架呀? react?vue?angular?谢谢~10. mysql如何添加索引的时候指定索引方式
