把下面这段代码复制到百度地图的演示中运行,效果就是我想设计的效果。
!DOCTYPE html html health eta http-equiv=' Content-TYPe ' Content=' text/html;charset=utf-8 '/meta name=' viewport ' content=' initial-scale=1.0,user-scalable=no '/style type=' text/CSS ' body,html { width : 100%;高度: 100%;余量:0字体系列: '微软雅黑;} #所有地图{宽度:100%;高度:500 px} p { margin-left :5 px;font-size :14 px}/style脚本类型=' text/JavaScript ' src=' http :http://API。地图。百度。com/API?v=2.0ak=您的密钥/scripttitle圆形区域搜索/title/head dydiv id=' all map '/divp返回北京市地图上圆形覆盖范围内的"餐馆"检索结果,并展示在地图上/p/body/html脚本类型=' text/JavaScript '//百度地图应用程序接口功能var映射=新的BMap .地图('所有地图');//创建地图实例var mPoint=新的BMap .点(116.404,39.915);地图。enablescrolheelzoom();map.centerAndZoom(mPoint,15);var圆=新的BMap .圆圈(mPoint,1000,{fillColor:'blue ',strokeWeight: 1,fillOpacity: 0.3,strokeOpacity: 0.3,enable edit : true });map.addOverlay(圆形);var removecircle=function(e,ee,marker){//取得地图上所有的覆盖物var overlays=map。getoverlays();//取得圆形区域var bounds=标记。getbounds();var maker _ arr=[];for(var I=0;ioverlays.lengthi ){//判断覆盖物为标注的并且是在圆形区域内部的如果(覆盖[i].uQ=='Marker'){//获取标注点到圆心的距离与半径做对比if(地图。getdistance(标记。getcenter())覆盖[i].getPosition())标记。getradius()){ maker _ arr。推送(覆盖[I]);}} }var r=confirm('你确定要删除区域中(maker_arr.length-1)个标注吗?');if(r==true){ for(var I=0;imaker _ arr . lenhei){ map。移除覆盖(maker _ arr[I]);}map.removeOverlay(标记);}else{map.removeOverlay(标记);}}//创建右键菜单var circleMenu=新的BMap .上下文菜单();circleMenu.addItem(新BMap .MenuItem('删除,去掉圆圈。绑定(移除圆圈));圆圈。addcontextmenu(圆形菜单);var local=新的BMap .LocalSearch(map,{ renderOptions: { map: map,auto viewport : false } });//本地。搜索就近('餐馆,mPoint,1000);函数addMarker(点){var marker=新BMap .标记(点);map.addOverlay(标记);}//随机向地图添加25个标注var界限=映射。getbounds();var SW=界限。得到西南();var ne=界限。得到东北();var lngSpan=数学。防抱死制动系统。液化天然气-东北。液化天然气);var latSpan=数学。ABS(ne。后软件。lat);for(var I=0;i5;i ) {var点=新BMap .点(西南。液化天然气(数学)。random()* 0.7),ne。lat-latSpan *(数学)。random()* 0.7));addMarker(点);}/脚本功能:以某个区域批量删除制造者。
功能的设计思路:
一右键菜单- 》区域删除机构。
2先画圆(以鼠标点击的某个点为中心点画圆)。
3得到圆中所选中的标注(主键)。
四圆上右键删除
4 .1 确定删除圆,删除标注(连接数据库数据)。
4.2 取消删除圆。
主要功能代码(js);
http://developer.baidu.com/map/reference/index.php?标题=:覆盖物类/圆形
{ text : }区域删除机构,回调:函数(e){ var mPoint=new BMap .点(例如液化天然气,即lat);//得到中心点坐标//一句射流研究…画圆但是这个不可以重复画圆需要刷新页面后才可以重新画圆/* var圆=新BMap .圆圈(mPoint,1000,{fillColor:'blue ',strokeWeight: 1,fillOpacity: 0.3,strokeOpacity: 0.3,enable edit : true });map.addOverlay(圆形);*/var圆=新的BMap .圆(mPoint,5000);circle.setFillColor('蓝色');//填充颜色圆圈。setstrokewight(1);//设置圆形边线的宽度,取值为大于等于一的整数圆圈。setfilopacity(0.3);//返回圆形的填充透明度圆圈。setstrokeaopacity(0.3);//设置圆形的边线透明度,取值范围0 - 1。//这样画圆可编辑的圆这两句射流研究…代码的位置不可改变map.addOverlay(圆形);//把圆添加到地图中圆圈。enable editing();//设置可编辑的圆var removecircle=function(e,ee,marker){ var delete id=[];var IDD=[];//取得地图上所有的覆盖物var overlays=map。getoverlays();//取得圆形区域var bounds=标记。getbounds();var maker _ arr=[];var maker _ id=[];for(var I=0;ioverlays.lengthi ){//判断覆盖物为标注的并且是在圆形区域内部的如果(覆盖[i].uQ=='Marker'){//获取标注点到圆心的距离与半径做对比if(地图。getdistance(标记。getcenter())覆盖[i].getPosition())标记。getradius()){ maker _ arr。推送(覆盖[I]);maker_id.push(overlays[i]).id);//标注主键值}}} $.messager.confirm('确认','你确定要删除区域中选中的标注吗?',函数(r){ if(r==true){ map。移除覆盖(圆形)//删除圆for(var I=0;imaker _ id . lentigi){ $ .ajax({ type: 'delete ',URL : '/yxt-admin/admin/hospital/' maker _ id[I]'/delete ',成功:函数(数据){ if(数据。状态代码==200){ $。信使。显示({ title : '提示消息,msg: data.message,timeout: 5000,show type : ' slide ' });} else if(数据。状态代码==205){ $。信使。警报('提醒','登录已超时重新登录,' info ',function(){ top。位置。href='/yxt-admin/adminlog in。html ';});} else { $。信使。show({ title : '提示,msg :数据。消息});}},错误:函数(XMLHttpRequest,textStatus,错误通过){ $。信使。显示({ title : '提示,msg: '系统错误,请联系开发人员。或刷新当前页面,重新操作。'});}});}位置。重载();} else { map。移除覆盖(圆圈)} })} var circle mu=new BMap .上下文菜单();circleMenu.addItem(新BMap .MenuItem('删除,去掉圆圈。绑定(移除圆圈));//圆上右键删除圆圈。addcontextmenu(圆形菜单);//添加右键菜单}},以上所述是小编给大家介绍的射流研究…代码实现百度地图画圆删除标注,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!