传单:组织瓷砖,地理标记,标记,折线的窗格

时间:2013-12-27 03:57:51

标签: css leaflet geojson topojson

我正在努力正确地订购我的图层。

http://fiddle.jshell.net/zw8TR/6/

我有一个包含几个不同图层的地图:普通图块(通过Mapbox),Google地图图块,Geojson(从Topojson转换)世界地图多边形,标记和折线。

问题始于Google地图图块 - 它们在z-index中的位置高于普通图块,以及标记/折线,掩盖其他所有内容。我用CSS修复了这个问题。

(旁白:根据我的经验,这没有意义 - z-index是继承,因此如果父母的z-index为1,则孩子不能有任何其他比z索引为1.你可以看到.leaflet-google-layer的直接子项的内联z索引为0,而实际的tile(子项)的z-index为200+,似乎是在浏览器中很荣幸。我不明白为什么会发生这种情况。如果内联添加z-index是否继承?)

接下来,默认情况下,Leaflet将我的geoJson多边形放在Overlay图层中。在里面,有一个SVG平移和缩放地图(很好!)。但是,我的折线也被添加到顶部的同一个SVG中,现在被矢量图遮挡了。 SVG具有以下内联属性 - style="transform: translate3d(...);"。由于这会强制3D,z-index不再能够解决问题。

我想控制我的图层如何添加到DOM中。我的geoJson矢量地图(以及Google地图图块,如果可能的话)应该与Tile图层一起添加到.leaflet-tile-pane div。我试过跟this demo手动添加'窗格'但得到错误(我的小提琴中的第19行):

Object [object Object] has no method 'getContainer'

Uncaught NotFoundError: An attempt was made to reference a Node in a context where it does not exist.

当我删除方法时。我怀疑这是因为我试图创建的图层不是图块层,但我不确定如何修复它。

毕竟,我很高兴知道:如何从.leaflet-overlay-pane中取出我的geoJson图层?

0 个答案:

没有答案