Attribute aus KML Datei als perm. Label?

Hallo zusammen,

ich versuche mich gerade an einer Möglichkeit, Attribute aus einer KML als Label / Tooltip darzustellen.

Der Unterschied soll jedoch sein, dass Label / Tooltip permanent sichtbar sein sollen.

Dazu habe ich mir diverse Samples angeschaut, aber die dortigen Lösungen sehen immer nur ein Mouseover Event vor.

Wie bekomme ich aber nun die Daten aus einer KML als “Permanentes Label” auf die Karte, so dass ich mir das Tooltip / Label auch noch per CSS stylen kann und das Label immer in der Nähe des jeweiligen Features steht?

Kennt da jemand ein Beispiel, welches man sich hierzu anschauen kann?

Danke und Gruß
Boris

Welche Slippy-Map-Bibliothek nutzt du denn? Leaflet?

Ich verwende Openlayers

Schade. Für leaflet gäbe es hier http://jsfiddle.net/paulovieira/yVLJf/ ein Beispiel.

Ein Beispiel für OpenLayers 2.

Das Problem ist, dass man entweder im KML-Layer den Stil holt (extractStyles:true), oder sich seinen Stil selbst zusammenbastelt. Und Labels gibts nur für Selberbastler.

  kmllayer=new OpenLayers.Layer.Vector("Punkte", {
                 styleMap: new OpenLayers.StyleMap({                           <----- mein selbstgebaselter Stil
                            "default": new OpenLayers.Style({
                                        ......
                                        label: "${name}",                                  <--- Label ist das, was im KML "name" heisst
                                        labelAlign:"lm",
                                        fontSize: "30px",
                                        labelYOffset:0,
                                        labelXOffset:10
                                        }),
                             "select":  new OpenLayers.Style({fillColor:"#ff0000",fillOpacity:1})
                             }),
                 .......
                 protocol:   new OpenLayers.Protocol.HTTP({
                              url: "wegpunkteb.kml",
                              format:new
                              OpenLayers.Format.KML({extractStyles:false,extractAttributes:true})    <--- kein Stil aus der KML-Datei
                             })
                });

Ausserdem muss man mindestens 2 Stile machen, den “default” und den “select”. Falls man letzteren weglässt, rutscht das Label zentriert auf den Punkt.

Grüße, Max

Nachtrag:

Wird schwer werden. Was man da sieht ist ein Schriftzug, der mit svg gerendert wird.