Je construis une carte en utilisant l'API Google V3 parce que c'est beaucoup plus rapide. Il s'agit essentiellement d'une carte d'une zone d'environ 30 villes avec des polygones sur les régions. Lorsqu'un utilisateur survole une ville, je souhaite que la couleur de remplissage devienne plus claire, puis qu'elle revienne à son état normal au passage de la souris. lorsqu'un utilisateur clique dessus, il les redirige vers une autre page.
L'événement de clic fonctionne très bien. Toutefois, si l’on examine la documentation de l’API v3, il semble que Google ait implémenté clic, doubleclick, mousemove, mousedown et mouseup en tant que déclencheurs d’événements, mais pas de survol, de souris ou de souris.
Vraiment? Décidément. Je penserais plus haut et plus haut serait plus prioritaire que bas et haut.
Quoi qu'il en soit, quelqu'un d'autre a-t-il rencontré cela? Ai-je tort? Ou y a-t-il une solution de contournement?
Merci d'avance pour votre aide, Stéphanie
Les oeuvres suivantes:
google.maps.event.addListener(polygon,"mouseover",function(){
this.setOptions({fillColor: "#00FF00"});
});
google.maps.event.addListener(polygon,"mouseout",function(){
this.setOptions({fillColor: "#FF0000"});
});
Dans Google Maps API V3, j'ai un survol d'un polygone avec le code ci-dessous. Je n'aime pas que je doive désélectionner et réinitialiser la carte à chaque survol, mais à ce stade, c'est comme cela que j'ai réussi à passer la souris.
Je suis intéressé par tout commentaire sur la façon d'améliorer ce code.
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);
});
Les événements Maps API V3 sont définis par objet. Effectuer une recherche sur la page de référence V3 indique que Marker est le seul objet avec des définitions pour mouseover et mouseout. Alors oui, vous semblez avoir raison.
À propos, il y a des gens qui font ça, mais ça a l'air plutôt impliqué:
http://groups.google.com/group/Google-Maps-API/browse_thread/thread/4ddc4f5888994563
mouseover et mouseout sont maintenant implémentés dans V3 Polyline .