Klaus1: Wie zoomUpToPoint aus wheel-zoom.js verwenden?

Hallo,

ich verwende die JS-Library wheel-zoom.js (Wheel Zoom auf Github), um einen Gebäudegrundriss darzustellen, auf dem per Overlay zahlreiche Objekte angezeigt werden (Infrastruktur-Equipment)

Wenn der Anwender vorher ein einzelnes Objekt selektiert hat, möchte ich gerne schon in den Plan an der richtigen Stelle reinzoomen. Sonst muss der Anwender den winzigen Punkt auf dem großen Plan immer erst suchen.

Mit zoomUp() kann ich zwar immer eine Stufe reinzoomen, aber immer nur von der Mitte aus und nicht an der Stelle, wo sich das Objekt befindet.

Mit zoomUpToPoint({x, y}) soll das wohl funktionieren, aber leider finde ich kein Beispiel, wie die Funktion genau angewendet werden soll.

Der Gebäudegrundriss hat im Original die Dimension 9825 x 7524. Das (Beispiel-)Objekt hat die Koordinaten 6175 x 6650.

Egal welche Werte ich angebe, es wird immer nur on der Mitte aus gezoomt.

Vielleicht hat jemand von Euch auch schonmal diese Bibliothek verwendet oder ist besser im Suchen und kann mir einen Tipp geben, wie ich zoomen kann und gleichzeitig den Fokus verschiebe?

LG Klaus

  1. Hi,

    ChatGPT hat mir geholfen. Die ermittelten Koordidaten des Objekts speichere ich in x und y. Dann hole ich mir den aktuellen Scale über wzoom._computeScale(); Die scaledPoints (sx und sy) berechne ich danach einfach über x * scale bzw. y * scale. Der Aufruf letztlich erfolgt über wzoom.zoomUpToPoint({ x: sx, y: sy});

    Die Funktion ist zwar nicht optimal bei Objekten an den Rändern des Grundrisses, aber besser als gar nichts.

    Thema hiermit erledigt 😉

    LG Klaus