2009-11-17 69 views
22

我使用google v3 api構建地圖,因爲它速度更快。本質上,它是一個地區的地圖,大約有30個城市在該地區有多邊形。當用戶懸停在城市上空時,我希望fillColor變淺,然後在鼠標移出時返回到正常狀態。當用戶點擊時,它會將它們重定向到另一個頁面。谷歌地圖v3 API與多邊形mouseover?

點擊事件工作得很好。但是,通過v3 API文檔查看,Google似乎已將click,doubleclick,mousemove,mousedown和mouseup用作事件觸發器,但沒有懸停,鼠標懸停或鼠標懸停。

真的嗎?吉茲。我會考慮一遍又一遍地比起來還要高。

無論如何,有沒有人遇到過這個?我錯了嗎?還是有解決方法?

預先感謝您的幫助, 斯蒂芬妮

回答

38

以下工作:

google.maps.event.addListener(polygon,"mouseover",function(){ 
this.setOptions({fillColor: "#00FF00"}); 
}); 

google.maps.event.addListener(polygon,"mouseout",function(){ 
this.setOptions({fillColor: "#FF0000"}); 
}); 
+0

像你說的,這些已經在V3實現。 – Nordes 2010-08-06 13:54:30

+0

我曾經在Google網上論壇中提出過要求,並且管理員回來了,並表示他們已經收到多次請求,然後實施了該請求。謝謝! – 2010-08-19 19:33:17

2

在Google Maps API V3中,我使用下面的代碼對多邊形進行了滾動。我不喜歡這樣,我不得不取消設置,並重新設置每次翻轉地圖,但在此時,這就是我實現鼠標懸停的方式。

我對如何改進此代碼的任何意見感興趣。

var polyShape  = new google.maps.Polygon({paths:polyData,strokeColor:"#aa0",strokeOpacity:0.5,strokeWeight:1,fillColor:"#cc0",fillOpacity: 0.25}); 
var polyShapeOver = new google.maps.Polygon({paths:polyData,strokeColor:"#cc0",strokeOpacity:0.5,strokeWeight:1,fillColor:"#ff0",fillOpacity: 0.25}); 

polyShape.setMap(map); 

google.maps.event.addListener(polyShape,"mouseover",function(){ 
    this.setMap(null); 
    polyShapeOver.setMap(map); 
}); 

google.maps.event.addListener(polyShapeOver,"mouseout",function(){ 
    this.setMap(null); 
    polyShape.setMap(map); 
});