---
name: "MapContext.moveAlong"
mode: "api"
versionRequirements:
  - { name: "基础库", version: "2.21.8" }
title: "MapContext.moveAlong - 沿指定路径移动 marker"
---

## MapContext.moveAlong

> [VERSION] 基础库 >= 2.21.8

> 💡 动画完成时触发回调事件。若动画进行中，对同一 marker 再次调用 moveAlong 方法，前一次的动画将被打断。

### 描述

沿指定路径移动 marker，用于轨迹回放等场景

### 参数

`Params`

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `option` | `MoveAlongOption` | 是 | 移动路径配置 |

### 返回值

无


### 引用对象

##### `interface` MoveAlongOption

| 属性 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `markerId` | `number` | 是 | 指定 marker 的 id |
| `path` | `MapPosition[]` | 是 | 移动路径的坐标串 |
| `duration` | `number` | 是 | 平滑移动的时间，单位 ms |
| `success` | `() => void` | 否 | 接口调用成功的回调函数 |
| `fail` | `(result: MapFailResult) => void` | 否 | 接口调用失败的回调函数 |
| `complete` | `() => void` | 否 | 接口调用结束的回调函数（调用成功、失败都会执行） |

##### `interface` MapPosition

| 属性 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `longitude` | `number` | 是 | 经度 |
| `latitude` | `number` | 是 | 纬度 |

##### `interface` MapFailResult

| 属性 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `errorCode` | `string` | 是 | 错误码 |
| `errorMsg` | `string` | 是 | 错误信息 |


### 示例代码

#### 轨迹回放

```ts
const mapCtx = ty.createMapContext('myMap');
mapCtx.moveAlong({
  markerId: 1,
  path: [
    { longitude: 120.0, latitude: 30.0 },
    { longitude: 120.5, latitude: 30.5 },
    { longitude: 121.0, latitude: 31.0 },
  ],
  duration: 5000,
  success() {
    console.log('轨迹回放完成');
  },
});
```
