2009-11-17 30 views
22

Sto costruendo una mappa utilizzando google v3 api perché è molto più veloce. Essenzialmente, è una mappa di un'area con circa 30 città con poligoni sulle regioni. Quando un utente si posiziona su una città, desidero che FillColor diventi più chiaro, quindi torna allo stato normale al passaggio del mouse. quando un utente fa clic, li reindirizza a un'altra pagina.google maps v3 API mouseover con poligoni?

L'evento click funziona perfettamente. Tuttavia, esaminando la documentazione dell'API di v3, sembra che Google abbia implementato il clic, il doppio clic, il mouse, il mouse e il mouse come trigger di evento, ma nessun hover, mouseover o mouseout.

Davvero? Accidenti. Ci penserei su e fuori sarebbe una priorità più alta di sempre.

In ogni caso, qualcun altro ha incontrato questo? Ho sbagliato? O c'è una soluzione?

vi ringrazio in anticipo per il vostro aiuto, Stephanie

risposta

38

le seguenti opere:

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

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

come dici, questi sono già disponibili nelle V3. – Nordes

+0

Avevo richiesto in un Google Gruppi e un amministratore è tornato e ha dichiarato di aver avuto più richieste per questo, e poi l'ha implementato. Grazie! –

0

mouseover e mouseout sono ora implementate in V3 Polyline.

2

Nell'API di Google Maps V3, ho un rollover per un poligono con il seguente codice. Non mi piace che devo disinserire e resettare la mappa ogni rollover, ma, in questo momento, è così che ho ottenuto il passaggio del mouse.

Sono interessato a qualsiasi commento su come migliorare questo codice.

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); 
}); 
Problemi correlati