百度地图API——MarkerTool单击事件的添加

    百度地图API中实现标记功能,一种是使用覆盖物中的Marker来直接实现,这么用的好处是能够直接使用官方2.0提供的各类接口,可是一些复杂需求实现起来难免有些繁琐,好比鼠标跟随的式样修改,单击后的式样变动等等。
php

    另一种选择是使用1.2接口中提供的MarkerTool开源库,这个现实标记功能基本是够用了(http://developer.baidu.com/map/index.php?title=open/library) spa

    但在实现标注添加后的单击事件监听时须要对源码进行适当的修改,例如实现标记图标的click事件监听code

    想象中应该是这样:对象

mkrTool.addEventListener("click", function(e) {  alert("test");  });

    实际上,因为MarkerTool的实例在添加的单击事件后就会将click事件移除掉,而且只是针对map对象的操做,因此实际的修改点应该是源代码MarkerTool.js中的_clickHandler方法,以下:接口

var mkr = new BMap.Marker(pt, {icon: me._opts.icon}); 
//此处增长Marker监听
mkr.addEventListener("click", function(e) {  alert("test");  });
me._map.addOverlay(mkr);
相关文章
相关标签/搜索