Skip to content

Marker 类

此类表示地图上的一个图像标注。

构造函数

构造函数描述
Marker(point: Point, opts: MarkerOptions)创建一个图像标注实例。point 参数指定了图像标注所在的地理位置

MarkerOptions

属性类型描述
offsetSize标注的位置偏移值
iconIcon标注所用的图标对象
enableMassClearBoolean是否在调用 map.clearOverlays 清除此覆盖物,默认为 true
enableDraggingBoolean是否启用拖拽,默认为 false
enableClickingBoolean是否响应点击事件。默认为 true
raiseOnDragBoolean拖拽标注时,标注是否开启离开地图表面效果。默认为 false
draggingCursorString拖拽标注时的鼠标指针样式。此属性值需遵循 CSS 的 cursor 属性规范
rotationNumber旋转角度
titleString鼠标移到 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('点击了标注');
});

注意事项

  1. 标注是最常用的地图覆盖物之一,可用于标识特定的地理位置
  2. 可以通过 setIcon 方法自定义标注的图标样式
  3. 标注支持拖拽功能,可以通过 enableDraggingdisableDragging 方法控制
  4. 可以为标注添加文本说明,通过 setLabel 方法实现
  5. 标注支持旋转效果,可以通过 setRotation 方法设置旋转角度
  6. 标注的显示层级可以通过 setZIndex 方法调整

基于 MIT 许可发布