[百度]自定义控件
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);
Sometimes you need to applaud yourself