2012-06-11 28 views
0

我在地圖上有多個引腳,每個引腳有兩個與之關聯的事件(鼠標單擊和鼠標懸停)。但只有鼠標懸停而不是點擊。以下是我正在使用的代碼。將鼠標點擊和鼠標懸停事件附加到Bing地圖圖釘不起作用

//Creating the pushpin 
var pin = new Microsoft.Maps.Pushpin(loc); 
    pin.Description = "Some address"; 

    Microsoft.Maps.Events.addHandler(pin, 'mouseover', function(e){ 
     if (e.targetType == 'pushpin') { 
     self.bingInfobox.setLocation(e.target.getLocation()); 
     self.bingInfobox.setOptions({ 
      visible: true, title: e.target.Title, description: e.target.Description }); 
      }  
    }); 

    Microsoft.Maps.Events.addHandler(pin, 'click', function(e){ 
     if (e.targetType == 'pushpin') { 

      // some functionality.. 
     } 
    }); 

請建議..

+0

self.bingInfobox是指Bing地圖的內置信息框,還是您添加的自定義實現? –

+0

是的,self.bingInfobox僅涉及內置信息框.. – mohanrajt

回答

0

4年......可恥的沒有人回答。

本質上,mouseover事件觸發,並且您的信息框彈出。它可能彈出超過的引腳。

所以,當你點擊,你點擊信息框,而不是在引腳本身,所以沒有引腳點擊事件觸發。

確保銷層的z-index比信息框層高(當然,那麼信息框中可以結束:

多樣選擇可供選擇取決於什麼是你的地圖上發生的事情來解決該問題部分隱藏在圖層中的其他引腳之後)。

爲信息框選項添加一個偏移量以將其從引腳上移開。

自定義您的信息框,以便您可以控制它的外觀和位置 - 確保針對點擊可見。

其他選項我敢肯定。然而,至少,覆蓋很可能是問題的根源。