事件 最后更新时间: 2021年01月22日
1. 交互事件
我们还可以为图层增加鼠标交互事件,通过 on()/off()
方法实现
// 绑定事件
layer.on('click', function(event) {
console.log('Click target: ', event.target) // 触发click事件的元素
console.log('Event type: ', event.type) // 事件名称
console.log('Raw Event: ', event.originalEvent) // 原始DomEvent事件
console.log('Raw data: ', event.rawData) // 触发元素对应的原始数据
console.log('Lnglat: ', event.lnglat) // 元素所在经纬度
});
// 解绑事件
layer.off(‘click’);
除了支持基本鼠标的事件外,还支持 touchstart
、touchend
、touchmove
触摸事件。
2. 自定义事件
除了交互事件外,Loca 还提供了业务相关的事件,这些事件常用来捕获特殊时间点,用以相关的业务逻辑。
比如:图层被添加或移除事件。您可以在某些图层添加移除后,进行关联业务的操作。
layer.on('add', function(event) {
// 图层被添加后
}).on('remove', function(event) {
// 图层被移除后
})
另外,由于底图的加载是异步进行的,因此 Loca 容器也提供 mapload
事件,用于判断底图都是加载完成,通常在这个时刻您就可以获取 AMap 的地图实例了。
var locaMap = Loca.create('map');
locaMap.on('mapload', function() {
var amap = locaMap.getMap();
// 获取地图添加地图相关组件
amap.plugin(['AMap.ControlBar'], function () {
var controlBar = new AMap.ControlBar();
amap.addControl(controlBar);
});
})