---
name: "MapContext.addMarkers"
mode: "api"
versionRequirements:
  - { name: "基础库", version: "2.21.8" }
title: "MapContext.addMarkers - 添加 marker"
---

## MapContext.addMarkers

> [VERSION] 基础库 >= 2.21.8

### 描述

添加 marker

### 参数

`Params`

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `option` | `AddMarkersOption` | 是 | marker 配置 |

### 返回值

无


### 引用对象

##### `interface` AddMarkersOption

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `markers` | `MapMarker[]` | 同传入 map 组件的 marker 属性 |
| `clear` | `boolean` | 是否先清空地图上所有 marker |
| `success` | `() => void` | 接口调用成功的回调函数 |
| `fail` | `(result: MapFailResult) => void` | 接口调用失败的回调函数 |
| `complete` | `() => void` | 接口调用结束的回调函数（调用成功、失败都会执行） |

##### `interface` MapMarker

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `id` | `number` | marker 的 id |
| `clusterId` | `number` | 聚合簇的 id |
| `joinCluster` | `boolean` | 是否参与聚合 |
| `latitude` | `number` | 纬度 |
| `longitude` | `number` | 经度 |
| `title` | `string` | 标注点名 |
| `zIndex` | `number` | 显示层级 |
| `iconPath` | `string` | 显示的图标路径 |
| `rotate` | `number` | 旋转角度 |
| `alpha` | `number` | 标注的透明度 |
| `width` | `number \| string` | 标注图标宽度 |
| `height` | `number \| string` | 标注图标高度 |
| `callout` | `MapCallout` | 自定义标记点上方的气泡窗口 |
| `customCallout` | `MapCallout` | 自定义气泡窗口 |
| `label` | `MapLabel` | 为标记点旁边增加标签 |
| `anchor` | `MapAnchor` | 经纬度在标注图标的锚点 |

##### `interface` MapFailResult

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

##### `interface` MapCallout

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `content` | `string` | 文本 |
| `color` | `string` | 文本颜色 |
| `fontSize` | `number` | 文字大小 |
| `borderRadius` | `number` | 边框圆角 |
| `borderWidth` | `number` | 边框宽度 |
| `borderColor` | `string` | 边框颜色 |
| `bgColor` | `string` | 背景色 |
| `padding` | `number` | 文本边缘留白 |
| `textAlign` | `"left" \| "right" \| "center"` | 文本对齐方式 |
| `anchorX` | `number` | 横向偏移量，向右为正数 |
| `anchorY` | `number` | 纵向偏移量，向下为正数 |

##### `interface` MapLabel

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `content` | `string` | 文本 |
| `color` | `string` | 文本颜色 |
| `fontSize` | `number` | 文字大小 |
| `borderRadius` | `number` | 边框圆角 |
| `borderWidth` | `number` | 边框宽度 |
| `borderColor` | `string` | 边框颜色 |
| `bgColor` | `string` | 背景色 |
| `padding` | `number` | 文本边缘留白 |
| `textAlign` | `"left" \| "right" \| "center"` | 文本对齐方式 |
| `anchorX` | `number` | 横向偏移量，向右为正数 |
| `anchorY` | `number` | 纵向偏移量，向下为正数 |

##### `interface` MapAnchor

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `x` | `number` | 横向锚点，取值范围 0-1 |
| `y` | `number` | 纵向锚点，取值范围 0-1 |


### 示例代码

#### 添加标记点

```ts
const mapCtx = ty.createMapContext('myMap');
mapCtx.addMarkers({
  markers: [
    {
      id: 1,
      latitude: 30.0,
      longitude: 120.0,
      iconPath: '/images/marker.png',
      width: 30,
      height: 30,
    },
  ],
  clear: false,
  success(res) {
    console.log('添加 marker 成功', res);
  },
});
```
