2010-12-17 39 views
1

我在地圖上顯示KML覆蓋圖:檢測在Google地圖上點擊KML區域

var k1 = new GGeoXml(url); map.addOverlay(k1);

我想要檢測該區域何時被點擊。這是行不通的:

GEvent.addListener(k1,'click',function(){alert('click'k1');});

任何想法?

回答

0

我假設您使用的是V2 Maps API。

通過文檔檢查,GGeoXml類不會引發'click'事件,並且它實現的接口GOverlay也不會公開該事件。所以,儘管你在理論上對該事件有約束力,但它永遠不會被觸發。

您將監聽器綁定到不存在的事件 - GOverlay不會引發任何事件。

快速查看時,只有GMap2引發鼠標事件(也許還有其他類)。您是否嘗試過向此添加偵聽器,然後在事件觸發時檢查源對象?

var k1 = new GGeoXml(url); 
    map.addOverlay(k1); 
    GEvent.addListener(map, 'click', callback); 

    function (overlay, latlng) callback 
    { 
    if (overlay == k1) alert('you clicked on k1'); 
    } 

(見EventListener docs

的谷歌地圖API是不是很靈活;請記住,KML疊加層的靈活性更差,您在點擊疊加層時想要做什麼?