1. 程式人生 > >百度地圖Map、Marker以及Label點選事件的區分

百度地圖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是否存在以及為何種物件來加以區分。