您好,欢迎访问一九零五行业门户网

百度地图给map添加右键菜单(判断是否为marker)_javascript技巧

废话不多说了,直接给大家贴代码了。
js:
var s;//经度var w;//纬度map.addeventlistener(rightclick,function(e){if(e.overlay){//判断右键单击的是否是marker}else{s = e.point.lng;//经度w = e.point.lat;//维度rightclick();//右键单击map出现右键菜单事件}});//右键单击map出现右键菜单事件function rightclick(){//alert('你点击的是地图');var createmarker = function(map){//右键更新站名if (confirm(要新建站点吗?)){if(true){$(.allsetmassage).show();}} };var markermenu=new bmap.contextmenu();markermenu.additem(new bmap.menuitem('新建站点',createmarker.bind(map)));map.addcontextmenu(markermenu);//给标记添加右键菜单}
效果:
右键单击map(非marker)
右键单击marker:
ps:百度地图给多个marker添加右键菜单(删除、更新)
js:
$.getjson(./getstationplaceservlet,function(json){ for(var i=;i + 站点名称:+stationname;openinfo(content,e);}});});}//左键单击marker弹出窗口事件function openinfo(content,e){var p = e.target;var point = new bmap.point(p.getposition().lng, p.getposition().lat);var infowindow = new bmap.infowindow(content,opts); // 创建信息窗口对象 map.openinfowindow(infowindow,point); //开启信息窗口}//修改站点站名function update(){var stationid=$(#stationid).val();//编号var stationname=$(.allupdatemassage_name).val();//名字var json={stationid:stationid,stationname:stationname}; $.getjson(./updatestationservlet,{json:json.stringify(json)},function(json){if(json.result==true){alert(站点+stationid+站名修改成功!);$(.allupdatemassage).hide();} else{alert(失败!);}});}
效果图:
地图上和数据库中都已删除此点信息:
我在实现这个时,发现有人只能在一个marker上添加右键菜单。我这个不存在这个问题。原理好像是关于闭包啥的,我也是新手不是很清楚,望懂得人不惜指教。
其它类似信息

推荐信息