2016-04-25 2 views
2

Ich versuche, für hightlighting die Eigenschaften einer ausgewählten Interaktion hinzufügen I wie in diesem Beispiel drawed aber auf meinem eigenen zieht:Select & hightlight meine eigene stützt sich auf OpenLayers3

http://openlayers.org/en/master/examples/select-features.html

die Eigenschaften Um Hightlight I verwenden ol.events.condition.pointerMove

var highlighter = new ol.interaction.Select({ 
    layers: [featureOverlay], 
    condition: ol.events.condition.pointerMove 
}); 

In meinem Beispiel, wenn ich ein Polygon zeichnen, starten sie den „Hightlighter“ und gehen auf der drawed Funktion es wie die Auswahl Kippschalter scheint.

Ich denke, dieser Code auf der 3.13.1 Version arbeitete

hier ein ist Fiddle

Antwort

1

Sie Ihre gezeichneten Features zu einer unmanaged Schicht (die alten ol.FeatureOverlay) mit featureOverlay.setMap(map); Zugabe. Ich bin mir nicht sicher, warum Sie diese brauchen und warum dieses Flimmern, aber wenn Sie ändern ein verwaltetol.layer.Vector dann ist dieses Verhalten gegangen:

var featureOverlay = new ol.layer.Vector({ 
    source: new ol.source.Vector(), 
    style: featureStyle 
}); 
map.addLayer(featureOverlay); 

var drawPolygon = new ol.interaction.Draw({ 
    source: featureOverlay.getSource(), 
    type: 'Polygon' 
}); 

http://jsfiddle.net/jonataswalker/p1q7s50k/

+0

Danke Jonatas, Ihr Code funktioniert gut . Das Hinzufügen der Vektorebenen ist nicht das, was ich bevorzuge, denn jetzt sehe ich sie auf dem layersTree meiner App und sie sind nicht immer oben, aber ich denke, ich kann es ändern und dieses Verhalten vermeiden –

+0

@ A.Bahi So könnte man posten Ihre Lösung und markieren Sie sie als korrekt und beenden Sie dieses Thema. –