Javascript 在地图上显示上下文菜单

Javascript 在地图上显示上下文菜单,javascript,maps,here-api,Javascript,Maps,Here Api,使用heremaps,我希望在右键单击(或长按)时显示上下文菜单 《开发人员指南》列出了以下内容: 指针镇 指针 指针移动 指针指向器 尖叶 指尖癌 dragstart 拖 德拉根德 水龙头 dbltap 这意味着我必须查看tap事件上的检查按钮,但API文档也描述了一个对象,说明: 当用户右键单击或长按地图对象时,应激发ContextMenuEvent 上面列出的哪些事件构成接收此ContextMenuEvent对象的“右键单击”或“长按”事件 在HERE映射的顶部有一个上下文菜单的功能示

使用heremaps,我希望在右键单击(或长按)时显示上下文菜单

《开发人员指南》列出了以下内容:

  • 指针镇
  • 指针
  • 指针移动
  • 指针指向器
  • 尖叶
  • 指尖癌
  • dragstart
  • 德拉根德
  • 水龙头
  • dbltap
这意味着我必须查看
tap
事件上的检查按钮,但API文档也描述了一个对象,说明:

当用户右键单击或长按地图对象时,应激发ContextMenuEvent

上面列出的哪些事件构成接收此
ContextMenuEvent
对象的“右键单击”或“长按”事件


在HERE映射的顶部有一个上下文菜单的功能示例,但当前文档中没有提到这一点,而且它似乎使用了较旧版本的API。是否删除了生成上下文菜单的功能?

我一时兴起,尝试将其附加到事件类型
contextmenu
,结果成功了!显然,他们的文件中没有这一点

  • 上下文菜单

我一时兴起,尝试将事件类型连接到上下文菜单,结果成功了!显然,他们的文件中没有这一点

  • 上下文菜单

如果您已经在收听“点击”事件,则有另一种处理右击的方法。在点击事件对象上的
originalEvent
属性中,此处映射将
哪个
属性添加到PointerEvent对象,这似乎表明哪个按钮用于触发事件。对于左键单击,此值为
1
;对于中键单击,此值为
2
;对于右键单击,此值为
3

考虑到这一点,您可以通过执行以下类似操作来修改点击事件以处理不同的鼠标按钮:

map.addEventListener("tap", function (evt) {
    switch (evt.originalEvent.which) {
        case 1: // Left-click
            handleLeftClick(evt);
            break;
        case 3: // Right-click
            handleRightClick(evt);
            break;
        default:
            // Do something else for other buttons, if you want
            break;
    }
});

请记住,
它不是的一部分,因此此处的映射可能会在将来更改或破坏此行为。

如果您已经在侦听“点击”事件,则有另一种处理右键单击的方法。在点击事件对象上的
originalEvent
属性中,此处映射将
哪个
属性添加到PointerEvent对象,这似乎表明哪个按钮用于触发事件。对于左键单击,此值为
1
;对于中键单击,此值为
2
;对于右键单击,此值为
3

考虑到这一点,您可以通过执行以下类似操作来修改点击事件以处理不同的鼠标按钮:

map.addEventListener("tap", function (evt) {
    switch (evt.originalEvent.which) {
        case 1: // Left-click
            handleLeftClick(evt);
            break;
        case 3: // Right-click
            handleRightClick(evt);
            break;
        default:
            // Do something else for other buttons, if you want
            break;
    }
});

请记住,
其中
不是的一部分,因此此处的映射将来可能会更改或中断此行为。

是的,列表似乎与API引用不同步:是的,列表似乎与API引用不同步: