2011-11-03 111 views
0

我的谷歌地图的代码是:谷歌地图 - 在信息窗口内容的轨道click事件

function initialize(mapdata){ 
    var LatLng=new google.maps.LatLng(mapdata[0],mapdata[1]); 
    var myOptions= { 
     zoom:16, 
     scaleControl:true, 
     streetViewControl:false, 
     panControl:true, 
     mapTypeControl:true, 
     center:new google.maps.LatLng(mapdata[0],mapdata[1]), 
     mapTypeId:google.maps.MapTypeId.ROADMAP 
    }; 
    var map=new google.maps.Map(document.getElementById("map"), myOptions); 
    document.getElementById("map").style.height="200px"; 
    document.getElementById("map").style.width="450px"; 
    var infowindow=new google.maps.InfoWindow(); 
    var marker=new google.maps.Marker({position:LatLng}); 
    marker.setMap(map); 
    google.maps.event.addListener(marker,'mouseover',function(){ 
     infowindow.setContent(<div style="text-align:right; font-size:8pt; color:black;">click here<a href="http://www.google.com/"></a> </div>'); 
     infowindow.open(map,marker); 
    }); 
} 

我的问题是我怎么可以跟踪与分析在信息窗口内容点击事件之后?

由于提前, 伊雷娜

+0

先格式化您的代码。谢谢 – hsz

回答

1

看看analytics Event Tracking Guide

<a href="#" onClick="_gaq.push(['_trackEvent', 'Videos', 'Play', 'Baby\'s First Birthday']);">Play</a> 

也注意到,您的infowindow.setContent(<div...错过了'('<div

UPDATE

设置在infowindow内的链接上的onclick事件,你必须使用jquery直播活动。这是因为链接不存在,直到我们点击标记来显示infowindow。

因此要实现你想要做的事,如信息窗口内对<div>的单击事件:

google.maps.event.addListener(marker,'mouseover',function(){ 
     infowindow.setContent('<div style="text-align:right; font-size:8pt; color:black;" id="some_id_here">click here<a href="http://www.google.com/"></a> </div>'); 
     infowindow.open(map,marker); 
}); 
$("#some_id_here").live('click', function() { 
    alert('click'); 
}); 

记住,我已经给div中id="some_id_here"

如果你有多个信息窗口的在同一时间打开,您需要在重置它之前解除绑定直播活动。否则有可能live('click')事件绑定了多次。要达到此目的,您应该这样做:

$("#some_id_here").die('click').live('click', function() { 
+0

,但我已经知道如何跟踪分析中的事件。问题是我不知道如何在信息窗口代码中实现点击事件 – Irena

+0

@Irena更新了我的文章 –

+0

太棒了!有用。 – Irena

相关问题