Ich habe ein OpenLayers.Feature.Vector wie folgt erstellt:Zeichnung Multipolygon mit anderen Stil für jede Komponente in Openlayers
var multiPol = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPolygon([polygonGeometry1,polygonGeometry2]));
Beide Polygone gleiche logische Objekt repräsentieren (eine „Einheit“) auf einer Karte, sagen wir ein Wolke. Deshalb halte ich sie in einer Funktion. Ich mag es ziehen, so dass jede Komponente dieses Multi-Polygon (polygonGeometry1, polygonGeometry2) mit unterschiedlicher Farbe gezeichnet wird, wenn es zu einer Schicht hinzugefügt wird:
var layer = new OpenLayers.Layer.Vector("polygonLayer");
layer.addFeatures([multiPol]);
ich einen Blick auf Design, Stil Karten genommen habe und Regeln in OpenLayers, aber sie scheinen nicht ausreichend zu sein. Sie ermöglichen mir, jeden Geometrietyp mit unterschiedlicher Farbe zu zeichnen, aber nur, wenn sie zu verschiedenen Merkmalen (Vektoren) gehören. Gibt es eine Möglichkeit, dieses Problem zu lösen? Muss ich wirklich separaten Vektor für jedes Polygon verwenden?
ich war, so etwas zu tun, sondern wollten nur sicherstellen, dass es keine einfachere und weniger Arbeit aufwendige Lösung. Vielen Dank! – gregorej
Ich habe eine CompositeVector-Klasse implementiert, die eine Reihe von Vektoren enthält, wobei jeder Vektor seine eigene Geometrie und optional einen eigenen Stil hat. Ich brauchte auch eine spezielle OpenLayers.Layer.Vector-Implementierung, die diese unterstützt. Um es zusammenzufassen: es hat funktioniert :) – gregorej
Entschuldigung, dass ich so einen alten Thread erstelle, aber ich versuche gerade das Gleiche zu erreichen (mit OpenLayers 2.12), lief aber auf ein Problem: Ich habe einen Multi (oder Composite) Vector implementiert, der hat grundsätzlich mehrere Funktionen, ist aber selbst ein Feature. Ich habe die Methode drawFeature in Layer.Vector wie vorgeschlagen umgeschrieben, aber jetzt habe ich seltsames Verhalten: Die Features werden korrekt gezeichnet, aber wenn das Ansichtsfenster in der Größe geändert wird, werden die Features doppelt gezeichnet. Ich denke, es kommt darauf an, Features zu haben, die selbst Features haben. Gibt es noch etwas, das ich neu schreiben muss, etwas, das ich nicht vergessen sollte? – dschenk