PopUp eigenen Content zuweisen?

Hallo,

ich habe ein Problem mit "popupFenster.show(feature.getGeometry().getCoordinates(), content ); "
egal was ich mache es wird immer der Letzte Eintrag angezeigt auf Alleen PopUp.
Die Positionen Stimmen alle nur das Aussehen und der Werte sind immer gleich?

Hier die Funktion welche immer aufgerufen wird wenn ein neuer Punkt gesetzt werden soll mit popup


Karte.addMapPoint = function(  langenGrad , breitenGrad , zIndexWert , pointIdName , popUpFenster )
{
   try
   {
   	
   	
      let vectorLayer = new ol.layer.Vector({
                                           source:new ol.source.Vector({
                                                                         features: [
                                                                                      new ol.Feature({
                                                                                                       geometry: new ol.geom.Point(ol.proj.transform([parseFloat(langenGrad), parseFloat(breitenGrad)], 'EPSG:4326', 'EPSG:3857')),
                                                                                                    })
                                                                                   ]
                                                                       }),
                                           style: new ol.style.Style({
                                                                        image: new ol.style.Icon({
                                                                                                    anchor: [0.5, 0.5],
                                                                                                    anchorXUnits: "fraction",
                                                                                                    anchorYUnits: "fraction",
                                                                                                    title: 'Test',
                                                                                                    src: Karte.pointer[Karte.pointerArt]
                                                                                                 })
                                                                     }),
                                           zIndex:zIndexWert,
                                           name:pointIdName
                                                                     
                                           });
                                         
     
     Karte.map.addLayer(vectorLayer);
     
     let content = "TestId: "+pointIdName;
     let select = new ol.interaction.Select({ });
     Karte.map.addInteraction(select);

     let popupFenster =   Karte.popupAnim;
     if(popUpFenster == "warning")
     { popupFenster = Karte.popupWarning; }
     else{}
   
     select.getFeatures().on(['add'], function(e) 
                    {
                    	 
                       let feature = e.element;
                       popupFenster.show(feature.getGeometry().getCoordinates(), content ); 
                      
                    })
    
     select.getFeatures().on(['remove'], function(e) 
     {
          popupFenster.hide(); 
     })
     
   }
   catch(e)
   { }     
};

Grüße

Ich habe jetzt erst mal eine Zwischenlösung gefunden. Ich lege den PopUp Content in eine KlassenVariable mit Bezug auf die geo Daten das geht.
Ist zwar so nicht schön aber funktionabel :slight_smile: Ich kann aber weiterhin das aussehen nicht steuern :frowning:
Vielleicht hat jemand noch eine andere Idee :slight_smile:

Die Optik habe ich auch damit gelöst jetzt funktioniert es wie gedacht :slight_smile:

Lösung:

 select.getFeatures().on(['add'], function(e) 
                    {
                    	 
                       let feature = e.element;
                       popupFenster.show(feature.getGeometry().getCoordinates(), content ); 
                      
                    })

der Block muss mit einer Klassenvariable gesteuert werden die Bezug auf die Geo Daten hat dann geht es ohne Probleme :slight_smile:

Grüße