recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment faire en sorte qu'un marqueur dans Leaflet ait deux popups ? Un au survol de la souris et un autre au clic ?

Je souhaite que les titres soient survolés par les marqueurs de la carte et lorsque vous cliquez dessus, une fenêtre contextuelle complète avec un contenu différent s'ouvrira.

J'essaie de créer une légende contenant une liste de tous les marqueurs qui seront utilisés comme liens vers les popups correspondantes, mais je n'arrive pas à comprendre comment faire.

P粉254077747P粉254077747232 Il y a quelques jours448

répondre à tous(1)je répondrai

  • P粉495955986

    P粉4959559862024-04-02 00:17:09

    Vous pouvez définir différentes fenêtres contextuelles pour les marqueurs de différents événements. Voici un exemple de la façon de le définir dans la fonction Point to Layer :

    var ptl = function(f, latlng){              
            
            var icon = L.icon({
                iconUrl: 'img/icon.png',
                iconSize:     [30, 50], // size of the icon
                iconAnchor:   [0, 25]
            });
        
                
            return L.marker(latlng, {icon: icon4}).on('click', function(e) {
                    
                this.bindPopup(e.sourceTarget.feature.properties['content']);
            }).on('mouseover', function(e){
                var popup = L.popup({
                    offset: [0, -30]
                })
                    .setLatLng(e.latlng) 
                    .setContent(e.sourceTarget.feature.properties['title'])
                    .openOn(map);
                    
            }).on('mouseleave', function(e){
                this.closePopup();
            });
                
    
        }

    répondre
    0
  • Annulerrépondre