自2018年10月18日起,高德开发者论坛除车机板块外,其他板块将停止发帖与维护,如您有使用问题请 提交工单 联系我们,感谢您的理解。

查看: 394|回复: 7
打印 上一主题 下一主题

[文档问题] [已解决]右击菜单能根据id删除吗

[复制链接]
最佳答案
0 

3

主题

11

帖子

51

积分

新手上路

Rank: 1

积分
51
跳转到指定楼层
楼主
发表于 2015-11-12 18:47:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
发表帖子
API/SDK版本号: 删除右击菜单怎么删除,为什么根据jsapi里面的方法无法删除
产品: 2D地图
手机型号:
使用接口: 右击菜单删除
问题如上,哪位知道求回答 ?
下面这个代码执行后不删除
contextMenu.removeItem(itemMenuText,function(){});


回复

使用道具 举报

最佳答案
0 

3

主题

11

帖子

51

积分

新手上路

Rank: 1

积分
51
沙发
 楼主| 发表于 2015-11-13 09:18:43 | 只看该作者
超级管理员那,求回答
回复 支持 反对

使用道具 举报

最佳答案
131 

2

主题

1497

帖子

3816

积分

超级版主

Rank: 8Rank: 8

积分
3816
板凳
发表于 2015-11-13 12:06:04 | 只看该作者
这个功能是删除右键菜单里面的某一个菜单项,而不是删除右键菜单,你直接用close方法关闭就可以了
回复 支持 反对

使用道具 举报

最佳答案
0 

3

主题

11

帖子

51

积分

新手上路

Rank: 1

积分
51
地板
 楼主| 发表于 2015-11-13 15:44:39 | 只看该作者
laughing0707 发表于 2015-11-13 12:06
这个功能是删除右键菜单里面的某一个菜单项,而不是删除右键菜单,你直接用close方法关闭就可以了 ...

代码比较长。。。
/**
         * 右击菜单 定义
         */
        var contextMenu = new AMap.ContextMenu();
我先new了一个右键对象,需要添加的时候调一下下面的方法
function addItem(item,menuObj,overlayId){
                var lnglat;
                contextMenu.addItem(item.menuText,function(){
                        var event = new MEvent(item.id,lnglat,overlayId);                               
                        MenuClickCallBack(event);                               
                },item.order);
                AMap.event.addListener(menuObj,'rightclick',function(e){
                        contextMenu.open(mapObj,e.lnglat);
                        contextMenuPositon = e.lnglat;
                        lnglat = e.lnglat;
                });
        }
这里是删除右键菜单的方法
        /**
         * 删除右击菜单
         */
        mapObj.removeMenuItem = function(itemMenuText){       
                contextMenu.removeItem(itemMenuText,function(){});       
        };

麻烦帮忙看下是什么问题。谢谢谢
回复 支持 反对

使用道具 举报

最佳答案
0 

3

主题

11

帖子

51

积分

新手上路

Rank: 1

积分
51
5#
 楼主| 发表于 2015-11-13 15:45:24 | 只看该作者
laughing0707 发表于 2015-11-13 12:06
这个功能是删除右键菜单里面的某一个菜单项,而不是删除右键菜单,你直接用close方法关闭就可以了 ...

回复错了应该回复另一个帖子的。
回复 支持 反对

使用道具 举报

6#
发表于 2015-11-17 15:56:12 | 只看该作者    本楼为最佳答案   
不支持通过id删除。使用方法参考demo:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
    <title>默认右键菜单</title>
    <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main.css?v=1.0" />
    <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key="></script>
</head>
<body>
<div id="mapContainer"></div>
<div id="tip">地图上右击鼠标,弹出右键菜单</div>
<div class="button-group">
    <input type="button" class="button" value="remove" onClick="contextMenu.removeItem('缩小一级', zoom)"/>
   
</div>
<script type="text/javascript">
    var map = new AMap.Map("mapContainer", {
        resizeEnable: true
    });   
    var contextMenu = new AMap.ContextMenu();  //创建右键菜单
       
        var zoom = function() {
        map.zoomOut();
    }
    //右键放大
    contextMenu.addItem("放大一级", function() {
        map.zoomIn();
    }, 0);
    //右键缩小
    contextMenu.addItem("缩小一级", zoom, 1);
    //右键显示全国范围
    contextMenu.addItem("缩放至全国范围", function(e) {
        map.setZoomAndCenter(4, [108.946609, 34.262324]);
    }, 2);
    //地图绑定鼠标右击事件——弹出右键菜单
    map.on('rightclick', function(e) {
        contextMenu.open(map, e.lnglat);
        contextMenuPositon = e.lnglat;
    });       
</script>
</body>
</html>                                               
修改个人资料
回复 支持 反对

使用道具 举报

最佳答案
0 

3

主题

11

帖子

51

积分

新手上路

Rank: 1

积分
51
7#
 楼主| 发表于 2015-11-18 16:24:07 | 只看该作者
阿里巴巴and四十大盗 发表于 2015-11-17 15:56
不支持通过id删除。使用方法参考demo:

这个只是添加右击菜单,木有删除右击菜单的。在api里面有removeItem()方法,不过不起作用
回复 支持 反对

使用道具 举报

8#
发表于 2015-11-19 11:43:04 | 只看该作者
amap_1860066687 发表于 2015-11-18 16:24
这个只是添加右击菜单,木有删除右击菜单的。在api里面有removeItem()方法,不过不起作用 ...

右键事件注销了,不就取消右键菜单了
修改个人资料
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|高德开发者论坛

Copyright ©2014 高德开发者论坛.All Rights Reserved |京ICP证070711号

意见反馈 常见问题 服务条款 联系我们
快速回复 返回顶部 返回列表