[百度]自定义控件

 1 // 定义一个控件类,即function
 2 function ZoomControl() {
 3     // 默认停靠位置和偏移量
 4     this.defaultAnchor = BMAP_ANCHOR_BOTTOM_RIGHT;
 5     this.defaultOffset = new BMap.Size(20, 20);
 6 }
 7 
 8 // 通过JavaScript的prototype属性继承于BMap.Control
 9 ZoomControl.prototype = new BMap.Control();
10 
11 // 自定义控件必须实现自己的initialize方法,并且将控件的DOM元素返回
12 // 在本方法中创建个div元素作为控件的容器,并将其添加到地图容器中
13 ZoomControl.prototype.initialize = function (map) {
14     // 创建一个DOM元素
15     var div = document.createElement("div");
16     // 添加文字说明
17     div.innerHTML = "<p class='text'>立即购买</p>"
18     //div.appendChild(document.createTextNode("立即下单"));
19     // 设置样式
20     div.className = "btn";
21     // 绑定事件,点击一次放大两级
22     div.onclick = function (e) {
23         alert("下单喽~")
24     }
25     // 添加DOM元素到地图中
26     map.getContainer().appendChild(div);
27     // 将DOM元素返回
28     return div;
29 }
30 // 创建控件
31 var myZoomCtrl = new ZoomControl();
32 // 添加到地图当中
33 map.addControl(myZoomCtrl);
View Code
原文地址:https://www.cnblogs.com/tuziling/p/10770366.html