Ich versuche, etwas wie dies mithilfe von leaflet.js zu implementieren, wo die Größe ist der Kreis bleibt bei unterschiedlichen Zoomstufen gleich. Zum Beispiel, wenn ich die Populationen in verschiedenen US-Grafschaften darstellen möchte, hätte ich Kreise mit unterschiedlichem Radius für unterschiedliche Bevölkerungsbereiche. Sie können sich überlappen, wenn sie vollständig herausgezoomt sind, aber wenn wir anfangen zu zoomen, neigen sie dazu, sich zu trennen. Gibt es eine Möglichkeit, dies mit leaflet.js zu tun? Ich habe ein Problem gemeldet, aber ich konnte nicht folgen, wenn es behoben wurde oder nicht. Jede Hilfe würde sehr geschätzt werden.
Ich denke, du wirst so etwas machen wollen:
%Vor% Ich habe einfach eine Karte und einen Kreis initialisiert und Ereignis-Listener für die Ereignisse zoomstart
und zoomend
erstellt. Es gibt ein myZoom
-Objekt, das die Zoomstufen aufzeichnet, so dass Sie herausfinden können, ob der endgültige Zoom durch einfache Subtraktion ein- oder ausgeblendet wird. Im zoomEnd
Listener überprüfen Sie das und ändern den Kreisradius basierend darauf, ob der Unterschied größer oder kleiner als 0 ist. Wir machen natürlich nichts, wenn es 0 ist. Hierüber verlasse ich Sie, um mit Ihren Ergebnissen ausgefeilter zu werden. Aber ich denke, das zeigt, wie es geht.
Verwenden Sie für Kreise einfach circleMarker
anstelle von circle
: Ссылка
Tags und Links javascript leaflet