javascript - Leaflet Circle Z-Index -
i'm drawing route using leaflet
.
the route divided in frames, each frame marked circle , on hover event frame shows opaque overlay on route.
the issue circle drawn behind frame overlay want on top of (on z-axis).
i've searched , tried i've found can't make stay on top.. can do?
this i'm doing:
l.geojson(route, { style: function(feat) { return { weight: 10, opacity: 1, cursor: 'pointer', color: 'transparent', classname: 'journey-frame' } }, oneachfeature(feat, layer) { var c = layer.getbounds().getcenter() var color = getcolor() var circle = l.circle(c, { color: 'black', weight: 2, radius: 3, fill: true, fillcolor: color, fillopacity: 1, classname: 'frame-circle', zindexoffset: 1000 // first attempt place circle on top. not working }) // second attempt. not working circle.bringtofront() // change layer color show frame layer.on('mouseover', function() { layer.setstyle({color: '#ddd', opacity: 0.8}); }) // change layer color hide frame layer.on('mouseout', function() { layer.setstyle({color: 'transparent'}); }) } }).addto(mymap)
in css file
.frame-circle { z-index: 1000; /* tried still nothing */ }
you can use bringtofront()
once layer use on on map (i.e. outside oneachfeature
function).
in case, have wait l.geojson().addto(map)
, retrieve layer (circle), , can use bringtofront()
.
the reason simple: method acts on layer's parent node append layer @ end (or first child in case of bringtoback()
). if layer not added map, not inserted in dom , not have parent container can re-ordered (appended / inserted).
Comments
Post a Comment