Polygon / Vectorobjekt mit Label

Hallo zusammen,

derzeit blende ich ein Polygon anhand einer KML Datei ein.
Dies Styles eines oder mehrerer Polygone definiere ich direkt in der KML.


map.addLayer (kmllayer = new OpenLayers.Layer.Vector('KML', {
            styleMap: myStyles, 
            strategies: [new OpenLayers.Strategy.Fixed()],
            protocol: new OpenLayers.Protocol.HTTP({
                url: "xyz.php5?"+Math.random(),
                format: new OpenLayers.Format.KML({
                    extractStyles: true, 
                    extractAttributes: true,
                    maxDepth: 20
                })
            })
        }))
        ;


Setze ich extractStyles: true auf false ignoriert er folgerichtig die Styles aus der KML und verwendet statt dessen die, die ich manuell im Code definiere.

Was ich eigentlich möchte ist, dynamisch Labels über den Polygonen einblenden, entweder fest oder per onMouseOver.
Ist dies auch über ein Tag in der KML möglich oder nur per Styles, die im Code definiert werden?

Wenn ich das Ganze im Code verankere, dann erhalte ich wie gewünscht das entsprechende Label (label : “${name}”), da die Labels aber dynamisch sind, muss eine andere Lösung her.

Ist jemandem etwas bekannt?

Danke fürs Lesen und eventuelle Vorschläge :wink:

Ghostrider

Nahmd,

Verstehe ich richtig, dass Du eines der Attribute als Tooltip darstellen möchtest?
Dazu kannst Du z.B. beim Einlesen das “graphicTitle”-Feld des jeweiligen Style mit dem Wert des Attributes überschreiben.

Gruß Wolf

Vielen Dank, das war schon einmal ein guter Hinweis.
Parallel habe ich ein wenig mit einem anderen Ansatz gerumgespielt, nämlich dem Objekt einfach ein Event zuzuweisen - so zumindest der Gedanke.


    kmllayer.events.register("featureselected", this, function(e){
            alert('el testo');
        });

Aber leider passiert da - überhaupt nichts.

Nahmd,

Die Vector-Features selbst (implementiert als SVG-Objekte) können nur bei Mouse-Over das aus graphicTitle abgeleitete title-Attribut anzeigen und sind ansonsten inaktiv.

Damit die auf Mouseover komplexer und auf Click überhaupt reagieren können, brauchen sie Unterstützung durch das SelectFeature-Control.

Gruß Wolf