百度地图自定义控件
2016-05-19 21:02
274 查看
上面的搜索框就是自定义的控件
接下来就是源码
/** * 自定义的control * 需要依赖的 文件有http://fontawesome.io/assets/font-awesome/css/font-awesome.css */ function SearchControl(posIndex,left,top){ var position=[BMAP_ANCHOR_TOP_LEFT,BMAP_ANCHOR_TOP_RIGHT,BMAP_ANCHOR_BOTTOM_LEFT,BMAP_ANCHOR_BOTTOM_RIGHT]; this.defaultAnchor=position[posIndex]; this.defaultOffset=new BMap.Size(left,top); } SearchControl.prototype=new BMap.Control(); SearchControl.prototype.initialize=function(map){ var div=document.createElement("div"); $(div).css({ width:"150px", overflow:"auto", border:"1px solid #aaa", backgroundColor:"#fff" }); $(div).html("<input style='height:25px;border-width:0px' type='text'><span style='padding:5px 0px'><i class='fa fa-search bigger-120' style='color:green;cursor:pointer' title='搜索'></i></span></div>"); map.getContainer().appendChild(div); return div; }
上面的代码包括三部分
1:构造函数(里面的两个属性defaultAnchor和defaultOffset 都要定义)
2:继承BMap.Control()
3:initialize方法
在initialize 方法里面我们定义要显示的控件内容,记得最后需要使用map.getContainer().appendChild(div)
在这里面还可以定义事件响应,但我更倾向将与业务相关的事件响应作为参数传入。这样,同样的控件便可以执行不同的操作。
调用的时候
var searchCtrl=new SearchControl(0,60,10);
map.addControl(searchCtrl);
相关文章推荐
- flex 控件的重要属性
- Delphi控件ListView的属性及使用方法详解
- web下载的ActiveX控件自动更新
- WinForm实现按名称递归查找控件的方法
- C#中父窗口和子窗口之间控件互操作实例
- Android编程之Button控件用法实例分析
- Android控件之CheckBox、RadioButton用法实例分析
- 在Android开发中使用自定义组合控件的例子
- Android重写View实现全新的控件
- MFC中动态创建控件以及事件响应实现方法
- WinForm自定义函数FindControl实现按名称查找控件
- Android控件之ProgressBar用法实例分析
- WinForm拖拽控件生成副本的解决方法
- ASP.NET动态添加用户控件的方法
- C#开发Android百度地图手机应用程序(多地图展示)
- ASP.NET的HtmlForm控件学习及Post与Get的区别概述
- WinForm实现移除控件某个事件的方法
- 百度地图给map添加右键菜单(判断是否为marker)
- 基于OL2实现百度地图ABCD marker的效果
- laypage分页控件使用实例详解