Ich habe zwei geoJson-Layer geladen - beide Layer sind die gleichen Daten für Testzwecke, aber aus zwei verschiedenen JSON-Dateien gezeichnet. Wenn ich die Ebenen im Layer-Controller ein- und ausschalte, ändert sich die Zeichenreihenfolge der Ebenen.
Irgendwelche Ideen, warum das passiert?
Ich habe meinen Code in einen JSFiddle eingefügt: Ссылка und das JS ist unten:
%Vor%LP
Bei der Suche bin ich auf diese Seite gestoßen, die einen Teil des Leaflet-Codes zeigt: Ссылка
Darin habe ich diese Bedingung für die Anwendung von autoZIndex gefunden:
%Vor%TileLayer ist der einzige Layer-Typ, der über eine setZIndex-Funktion verfügt. Scheinbar arbeitet also autoZIndex nur dort.
Ich bin mir nicht sicher, was mich mehr nervt. Diese unglaubliche Einschränkung oder die Tatsache, dass die Leafet-Dokumentation nicht darauf hinweist.
Mindestens bei 0.7.2 musste ich bringToFront
im Callback von map.on('overlayadd')
verwenden. autoZIndex: false
hat in meinem Fall auch nicht funktioniert. Ein Kommentar zu diesem Problem kann den Grund erklären.
Es ist nicht spezifisch für L.GeoJson-Layer. Soweit ich das beurteilen kann, gilt das für alle Leaflet-Layer mit Layer-Kontrolle. Die letzte Ebene ist einfach oben. Ich denke auch nicht, dass dies ein Fehler ist. Es ist ein vorhersagbares Verhalten, das ich verwende und von dem ich abhängig bin, wenn ich Karten mit Ebenensteuerung entwerfe ...