百度地图Map、Marker以及Label点击事件的区分

当我们同时为Marker和Map添加click事件后,会发现点击Marker时,不仅触发了Marker的click事件,Map的click事件也会同时被触发。实际上点击地图上的任何覆盖物都会传递到Map,这是因为API会将事件向上传递。那么如何区分呢?在Map的click事件中的事件参数e包含了一个名为overlay的属性,当我们点击地图上的Marker时,e.overlay为一个Marker对象;当我们点击地图上的Label时,e.overlay为一个Label对象;而当我们单单点击地图时,e.overlay则为null。因此我们可以在事件函数中通过判断e.overlay是否存在以及为何种对象来加以区分。

你可能感兴趣的:(百度地图)