Skip to content

ContextMenu

此类表示右键菜单。您可以在地图上添加自定义内容的右键菜单。

构造函数

构造函数描述
ContextMenu()创建一个右键菜单实例

实例方法

方法返回值描述
addItem(item: MenuItem)none添加菜单项
getItem(index: Number)MenuItem返回指定索引位置的菜单项,第一个菜单项的索引为0
removeItem(item: MenuItem)none移除菜单项
addSeparator()none添加分隔符
removeSeparator(index: Number)none移除指定索引位置的分隔符,第一个分隔符的索引为0

事件

事件参数描述
open{type: string, target: any, point: Point, pixel: Pixel}右键菜单打开时触发,事件参数point和pixel分别表示菜单开启时的地理和像素坐标点
close{type: string, target: any, point: Point, pixel: Pixel}右键菜单关闭时触发,事件参数point和pixel分别表示菜单开启时的地理和像素坐标点

示例

创建右键菜单:

ts
// 创建右键菜单
const menu = new BMapGL.ContextMenu();

// 创建菜单项
const menuItem = new BMapGL.MenuItem('放大', function(point) {
  map.zoomIn();
});

// 添加菜单项
menu.addItem(menuItem);

// 添加分隔符
menu.addSeparator();

// 将菜单添加到地图
map.addContextMenu(menu);

监听菜单事件:

ts
menu.addEventListener('open', function(e) {
  console.log('菜单打开', e.point, e.pixel);
});

menu.addEventListener('close', function(e) {
  console.log('菜单关闭', e.point, e.pixel);
});

常见用途

  1. 地图操作:

    • 缩放控制
    • 视角调整
    • 地图类型切换
  2. 标注操作:

    • 添加标注
    • 编辑标注
    • 删除标注

注意事项

  1. 菜单创建:

    • 合理组织菜单项顺序
    • 适当使用分隔符分组
    • 控制菜单项数量
  2. 事件处理:

    • 注意获取正确的坐标信息
    • 处理菜单项点击回调
    • 合理使用打开关闭事件

基于 MIT 许可发布