Heim  >  Fragen und Antworten  >  Hauptteil

Wie kann ich dafür sorgen, dass ein Marker in Leaflet zwei Popups hat? Eines beim Mouseover und ein anderes beim Klicken?

Ich möchte, dass die Titel über Markierungen auf der Karte schweben und beim Klicken darauf ein vollständiges Popup mit unterschiedlichen Inhalten geöffnet wird.

Ich versuche, eine Legende zu erstellen, die eine Liste aller Markierungen enthält, die als Links zu den entsprechenden Popups verwendet werden, aber ich weiß anscheinend nicht, wie das geht.

P粉254077747P粉254077747183 Tage vor329

Antworte allen(1)Ich werde antworten

  • P粉495955986

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

    您可以为不同事件的标记设置不同的弹出窗口。以下是如何在指向图层功能中设置它的示例:

    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();
            });
                
    
        }

    Antwort
    0
  • StornierenAntwort