11487 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
Je suis actuellement sur un projet où j'affiche des marqueurs sur une carte, ce que j'arrive à faire en utilisant Leaflet. Au passage de la souris, je fais afficher un nom mais j'aimerais que au clique, je puisse afficher sois une infobulle ou une fenêtre d'information.
Auriez vous des conseils ?

Voici mon code :

Object.entries(donnees.tbl_sectorisation).forEach(resultatsecto => {
                            // On crée un marqueur pour la personne
                            let marker = L.marker([resultatsecto[1].latitude, resultatsecto[1].longitude]).addTo(carte)

                            marker.on('mouseover', function (e) {
                                  this.openPopup();});
                            marker.on('mouseout', function (e) {
                                this.closePopup();
                            });
                            marker.bindPopup('Nom client : '+resultatsecto[1].nom_client+'')

                        })
                    }else{
                        console.log(xmlhttp.statusText);

Merci d'avance.
Modifié par Elnofey (04 Aug 2020 - 14:25)
Bonjour,

Si vous supprimez ces deux fonctions il ne devrait rester à l'utilisateur que la solution au clique (avec .bindPopup() ) :
marker.on('mouseover', function (e) {
    this.openPopup();
});
marker.on('mouseout', function (e) {
    this.closePopup();
});

Modifié par Olivier C (04 Aug 2020 - 15:28)
J'ai trouvé une solution alternative qui m'affiche une légende dynamique. Je vous remercie pour votre réponse.
Modifié par Elnofey (04 Aug 2020 - 16:34)