开发 Android 轻量版地图SDK 开发指南 在地图上绘制 点平滑移动

点平滑移动 最后更新时间: 2024年04月19日

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

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

效果示例:


如何实现点平滑移动

MovingPointOverlay 代码位置:

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

代码调用示例:

// 读取轨迹点
List<LatLng> 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<Integer, LatLng> pair = SpatialRelationUtil.calShortestDistancePoint(points, drivePoint);
points.set(pair.first, drivePoint);
List<LatLng> subList = points.subList(pair.first, points.size());

// 设置轨迹点
smoothMarker.setPoints(subList);
// 设置平滑移动的总时间  单位  秒
smoothMarker.setTotalDuration(40);
// 开始移动
smoothMarker.startSmoothMove();


返回顶部 示例中心 常见问题 智能客服 公众号
二维码