百度地圖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);
相關文章
相關標籤/搜索