我正在實施一個地圖應用程序。它使用Google Maps API for Flash。單擊地圖時會觸發一個回調函數。此外,還有很多動態生成的多段線。多段線還有分配給它們的點擊事件監聽器。問題是當我點擊一條折線時,地圖點擊事件首先被觸發,然後折線的點擊事件被觸發。谷歌地圖折線點擊事件
我無法解決該問題。這真的很煩人。下面是分配回調到地圖的點擊事件代碼:
map = new Map();
map.key = GOOGLE_MAP_KEY;
map.addEventListener(MapMouseEvent.CLICK, onMapClicked, true);
這裏是回調函數分配給折線的Click事件代碼:
var polyline:Polyline = new Polyline(path);
polyline.addEventListener(MapMouseEvent.CLICK, cutToEnd);
我需要剿了「onMapClicked」功能的調用當我點擊一條折線時。只應調用「cutToEnd」方法。
感謝
感謝您的幫助。我認爲它不起作用。首先,我從所有的「addEventListener」調用中刪除了第三個參數。然後,我在「cutToEnd」方法的末尾添加了「event.stopPropagation()」。另外,我在「onMapClicked」的開頭添加了目標的比較。我正在調試它,它總是說「event.target」=「event.currentTarget」。 「onMapClicked」總是作爲第一個被調用。我錯過了什麼? – 2011-02-23 20:22:40
看來,地圖和折線不在顯示列表上的父子關係中 – 2011-02-23 21:06:14