Der Start der Bewegung wird verzögert und frisst 100 % des CPU-Kerns. Das gleiche für den Zoom. Verzögerung si verursacht durch getBoundingClientRect
:
Hallo @zdila ,
Leider ist das eine bekannte Einschränkung von Leaflet.
Siehe https://stackoverflow.com/questions/43015854/large-dataset-of-markers-or-dots-in-leaflet/43019740#43019740
Leaflet verwendet normale DOM-Elemente für Standardmarker.
Diese Einfachheit hat einen Nachteil: Browser haben Schwierigkeiten, Tausende von ihnen zu verarbeiten.
Für den allgemeinen Gebrauch (wenige Marker) ist die Einfachheit von Vorteil.
Für komplexere Anwendungsfälle besteht die Problemumgehung darin, zu Canvas zu wechseln.
Es sollte einige Plugins geben, die andere Canvas-basierte Marker bereitstellen, falls Sie etwas ausgefalleneres als Circle Marker benötigen.
Wenn Sie viele Markierungen zeichnen müssen, können Sie das Leaflet.PixiOverlay- Plugin ausprobieren.
(ich bin übrigens der Plugin-Autor)
@ghybs danke für die Erklärung. Ich frage mich nur, ob das Aufrufen von getBoundingClientRect
wirklich notwendig ist und wofür es in Leaflet verwendet wird.
@manubb danke für die Info. Wir verwenden bereits Canvas zum Anzeigen von Bildpositionen auf der Karte: https://www.freemap.sk/?map=9/48.821333/20.126953 &layers=TI
Hilfreichster Kommentar
Wenn Sie viele Markierungen zeichnen müssen, können Sie das Leaflet.PixiOverlay- Plugin ausprobieren.
(ich bin übrigens der Plugin-Autor)