Ich habe eine benutzerdefinierte OpenLayers 3-Karte (die zum Anzeigen von Häusern zum Verkauf in der Nachbarschaft verwendet wird) mit einem Bild als Karte initialisiert.
Dann erstelle ich dynamisch zusätzliche Features und Layer für jedes Haus (der Anker jedes Features wird als Bildmitte festgelegt).
Ich habe versucht , das verwenden size
Eigenschaft , wenn die Funktion der Initialisierung, aber was es tut , ist zu beschneiden das Bild , anstatt es zu Ändern der Größe.
Ich glaube, ich habe die resize
Funktion für Layer irgendwo in OL2 gesehen, aber ich kann sie in OL3 nicht finden. Würde diese Art von Funktion das gewünschte Ergebnis erzielen?
Es gibt auch das Problem, dass die Features beim Verkleinern der Karte viel zu groß und beim Vergrößern viel zu klein skaliert werden. Gibt es eine Möglichkeit, die Koordinaten des Features anzugeben, und dann unsichtbare Ränder / Abstände, um zu verhindern, dass es zu groß oder zu klein wird (irgendeine statische Größe)?
Hier ist das tatsächliche Verhalten von Features (das Feature, das hier zu sehen ist, ist das schwarze Haus): - Weiter: Perfekte Größe, das Haus sollte jedoch viel kleiner sein, wenn es herausgezoomt wird (wie auf dem ersten Bild zu sehen). - Das Haus hätte größer bleiben sollen, anstatt es auf diesem letzten Bild noch einmal zu verkleinern. .
quelle
source: new ol.source.Vector({features:[iconFeature]})
Andernfalls wird nichts in die Ebene eingefügt (aus irgendeinem Grund, wahrscheinlich bezogen auf das Geometrieelement des Features).