Marker 类
此类表示地图上的一个图像标注。
构造函数
| 构造函数 | 描述 |
|---|---|
| Marker(point: Point, opts: MarkerOptions) | 创建一个图像标注实例。point 参数指定了图像标注所在的地理位置 |
MarkerOptions
| 属性 | 类型 | 描述 |
|---|---|---|
| offset | Size | 标注的位置偏移值 |
| icon | Icon | 标注所用的图标对象 |
| enableMassClear | Boolean | 是否在调用 map.clearOverlays 清除此覆盖物,默认为 true |
| enableDragging | Boolean | 是否启用拖拽,默认为 false |
| enableClicking | Boolean | 是否响应点击事件。默认为 true |
| raiseOnDrag | Boolean | 拖拽标注时,标注是否开启离开地图表面效果。默认为 false |
| draggingCursor | String | 拖拽标注时的鼠标指针样式。此属性值需遵循 CSS 的 cursor 属性规范 |
| rotation | Number | 旋转角度 |
| title | String | 鼠标移到 marker 上的显示内容 |
方法
| 方法 | 返回值 | 描述 |
|---|---|---|
| setIcon(icon: Icon) | none | 设置标注所用的图标对象 |
| getIcon() | Icon | 返回标注所用的图标对象 |
| setPosition(position: Point) | none | 设置标注的地理坐标 |
| getPosition() | Point | 返回标注的地理坐标 |
| setOffset(offset: Size) | none | 设置标注的偏移值 |
| getOffset() | Size | 返回标注的偏移值 |
setTitle(title: String) | none | 设置标注的标题,当鼠标移至标注上时显示此标题 |
| getTitle() | String | 返回标注的标题 |
| setLabel(label: Label) | none | 为标注添加文本标注 |
| getLabel() | Label | 返回标注的文本内容 |
| enableDragging() | none | 开启标注拖拽功能 |
| disableDragging() | none | 关闭标注拖拽功能 |
| enableMassClear() | none | 允许覆盖物在 map.clearOverlays 方法中被清除 |
| disableMassClear() | none | 禁止覆盖物在 map.clearOverlays 方法中被清除 |
setZIndex(zIndex: Number) | none | 设置覆盖物的 zIndex |
| getMap() | Map | 返回覆盖物所在的 map 对象 |
setRotation(rotation: Number) | none | 设置点的旋转角度 |
| getRotation() | Number | 获取点的旋转角度 |
addEventListener(event: String, handler: Function) | none | 添加事件监听函数 |
removeEventListener(event: String, handler: Function) | none | 移除事件监听函数 |
示例
javascript
// 创建标注
var point = new BMapGL.Point(116.404, 39.915);
var marker = new BMapGL.Marker(point, {
enableDragging: true, // 启用拖拽
rotation: 45 // 设置旋转角度
});
// 添加到地图
map.addOverlay(marker);
// 设置标注的图标
var icon = new BMapGL.Icon('marker.png', new BMapGL.Size(32, 32));
marker.setIcon(icon);
// 添加文本标注
var label = new BMapGL.Label('标注说明', {
offset: new BMapGL.Size(20, 0)
});
marker.setLabel(label);
// 添加点击事件
marker.addEventListener('click', function() {
alert('点击了标注');
});注意事项
- 标注是最常用的地图覆盖物之一,可用于标识特定的地理位置
- 可以通过
setIcon方法自定义标注的图标样式 - 标注支持拖拽功能,可以通过
enableDragging和disableDragging方法控制 - 可以为标注添加文本说明,通过
setLabel方法实现 - 标注支持旋转效果,可以通过
setRotation方法设置旋转角度 - 标注的显示层级可以通过
setZIndex方法调整
