x

mehrere vector layers


  1. mehrere vector layers · salleee (Gast) · 08.06.2011 21:46 · [flux]

    hi zusammen,

    ich habe 3 verschiedene vector layers die mit einem popup verbunden sind.

    Nehmen wir an Layer1 heißt A / Layer 2 B / und LAyer 3 C /

    hier nun der code für das popup

    ␣␣␣function␣onFeatureSelect(feature)␣{
    var␣lonlat␣=␣feature.geometry.getBounds().getCenterLonLat().clone();
    lonlat.transform(new␣OpenLayers.Projection("EPSG:900913"),␣new␣OpenLayers.Projection("EPSG:4326"));
    selectedFeatureAlles␣=␣featureAlles;
    popup␣=␣new␣OpenLayers.Popup.FramedCloud("chicken",
    feature.geometry.getBounds().getCenterLonLat(),
    null,
    "<iframe␣src='./iframe/iframe.php?LON="␣+␣lonlat.lon␣+"&LAT="+␣lonlat.lat␣+"&PRODUKTKLASSE=????????'␣width='100%'␣height='100%'␣frameborder='0'</iframe>",
    null,␣true,␣onPopupClose);
    feature.popup␣=␣popup;
    popup.minSize␣=␣new␣OpenLayers.Size(␣400,␣400);
    popup.maxSize␣=␣new␣OpenLayers.Size(␣401,␣401);
    
    /*popup.autoSize␣=␣true;*/
    
    map.addPopup(popup);
    
    }
    function␣onFeatureUnselect(feature)␣{
    map.removePopup(feature.popup);
    feature.popup.destroy();
    
    feature.popup␣=␣null;
    }
    

    jetzt möchte ich wenn man auf einen vectorlayer click das popup sich öffnet (das funktioniert) nur ich möchte nun eine variable die mir den namen des layers
    also quasi LAyer A / B oder / C im popup anzeigt.

    ist so etwas möglich ?

    gruss timo


    • Re: mehrere vector layers · maxbe (Gast) · 09.06.2011 12:26 · [flux]

      Wie hast Du denn dieses Popup eingebunden? Kannst Du den einzelnen anklickbaren Dingen mitgeben, auf welchem Layer sie liegen?

      Wenn Dein "feature" ein "OpenLayers.Feature.Vector" ist, kannst Du einfach ein paar eigene Attribute definieren:

      var irgendwas = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(...),
      {herkunft:"ich bin der erste Punkt vom Layer A"};

      Diese Variable "herkunft" findest Du dann innerhalb von "onFeatureSelect" unter dem Namen "feature.attributes.herkunft" wieder.