功能说明:根据输入的关键点和时间参数,实现点的平滑移动效果。

使用场景:可应用到展示车辆行驶轨迹、用户移动轨迹等场景。

效果示例:

3a6929aa352ab271ce6a7b214ff95fae.png

如何实现点平滑移动

MovingPointOverlay 代码位置:

com.amap.maps.jsmap.demo.smoothmove.MovingPointOverlay.java

代码调用示例:

// 读取轨迹点

List points = readLatLngs();

// 实例 MovingPointOverlay 对象

if(smoothMarker == null) {

// 设置 平滑移动的 图标

marker = mAMap.addMarker(new MarkerOptions()

.icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_car))

.anchor(0.5f,0.5f));

smoothMarker = new MovingPointOverlay(mAMap, marker);

}

// 取轨迹点的第一个点 作为 平滑移动的启动

LatLng drivePoint = points.get(0);

Pair pair = SpatialRelationUtil.calShortestDistancePoint(points, drivePoint);

points.set(pair.first, drivePoint);

List subList = points.subList(pair.first, points.size());

// 设置轨迹点

smoothMarker.setPoints(subList);

// 设置平滑移动的总时间 单位 秒

smoothMarker.setTotalDuration(40);

// 开始移动

smoothMarker.startSmoothMove();

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐