J'ai combiné la réponse de @ samshull ci-dessus (dûment mise à jour!) Avec l'information de here pour faire apparaître le InfoWindow où le curseur de l'utilisateur mo utilise sur la ligne:
// Open the InfoWindow on mouseover:
google.maps.event.addListener(line, 'mouseover', function(e) {
infoWindow.setPosition(e.latLng);
infoWindow.setContent("You are at " + e.latLng);
infoWindow.open(map);
});
// Close the InfoWindow on mouseout:
google.maps.event.addListener(line, 'mouseout', function() {
infoWindow.close();
});
Ici, line
est votre objet PolyLine; map
est votre objet Map; et infoWindow
est votre objet InfoWindow, que je viens de créer avec:
var infoWindow = new google.maps.InfoWindow();
Je suis également this advice en réutilisant le même objet InfoWindow pour tous mes polylignes plutôt que de créer un nouveau pour chaque ligne:
Meilleures pratiques: Pour une meilleure expérience utilisateur, une seule fenêtre d'information doit être ouverte sur la carte à tout moment. Plusieurs fenêtres d'information font la carte apparaît encombrée. Si vous n'avez besoin que d'une seule fenêtre d'information à la fois, vous pouvez créer un seul objet InfoWindow et l'ouvrir à différents emplacements ou marqueurs lors d'événements de carte, tels que les clics de l'utilisateur. Si vous avez besoin de plus d'une fenêtre d'informations, vous pouvez afficher plusieurs objets InfoWindow en même temps.
Notez que infoWindow.setContent()
prend une chaîne. Appelez donc toString()
sur une variable numérique si vous souhaitez afficher un nombre dans l'InfoWindow.
-je voir tout cela comme une solution imparfaite jusqu'à ce que Google Maps Je espère qu'un jour ajouter une propriété title
à PolylineOptions, tout comme ils l'ont déjà fait pour MarkerOptions.
J'utilise déjà un infowindow pour tous les détails, donc cela ne fonctionnerait pas. – ScottE
Mais comment positionner la fenêtre d'information sur la polyligne? – Naman
@Naman: Voir https://developers.google.com/maps/documentation/javascript/events?csw=1#EventArguments pour savoir comment capturer la position du curseur et ma réponse ci-dessous pour plus de détails. – snark