? ? ?openlayers3中記載geojson文件趁餐,其實(shí)沒有那么難喷兼,官網(wǎng)有例子,網(wǎng)上有demo后雷,是呀季惯,加載個圖形,線段或者點(diǎn)的很容易臀突,但是哥這次加載的是一幅json格式的室內(nèi)地圖(高逼格)勉抓,各種圖形錯綜復(fù)雜,交疊更替候学,一會上一會下藕筋,額。說哪去了梳码。念逞。小伙伴不要想多哦~ (壞笑),由此來說边翁,不可避免的就是要素的互相遮蓋導(dǎo)致顯示不全的問題。
? ? 事情的起因是這樣的硕盹,我用了一個很普通的矢量圖層符匾,ol.source.Vector來放置json要素,為了提高加載效率呢瘩例,我選擇了ol.layer.Image來作為要素的承載圖層啊胶,運(yùn)行結(jié)果是當(dāng)縮放級別不是很大的時候顯示的很全,但是進(jìn)一步縮放的話呢垛贤,會出現(xiàn)部分要素圖形消失或者移位焰坪。我了個去,見鬼了塞聘惦,經(jīng)過多方調(diào)試某饰,最終無恥的我判定是ol3的bug(壞笑再一次)。
? ? 算了,還是按套路出牌的吧黔漂,改成用ol.layer.vector來作為要素的承載圖層诫尽,咦?果然好了炬守。圖形要素不會無緣無故的消失了牧嫉,也不會移位了,但是有些圖形壓根就不顯示了减途,我了個去酣藻。。這次也按套路出牌了鳍置,怎么還不行辽剧?好吧,calm down baby墓捻,再確認(rèn)了圖形以及加載邏輯沒問題的情況下抖仅,我開始將目光慢慢的轉(zhuǎn)向用于渲染的style這個家伙了,在加載geojson的時候是json里面的特定的順序加載的砖第,白話來講就是一層壓一層撤卢,假如最上面那層是個大的要素,還是最后被渲染梧兼,就是不是就慘了放吩,前面的圖形要素全被無情的壓在了下面。羽杰。(不要笑渡紫!壞銀)好吧,解決問題的方法隨之而來考赛,那就是把大塊的作為底圖的要素不管你啥時候加載(加載順序可能是隨機(jī)的)惕澎,就讓你保持在最下面。颜骤。(還笑唧喉,嘿嘿我也不是什么好人)?
? ?慶幸的是Ol3中提供這樣了利器,那就是zIndex忍抽,如下圖八孝。
? 將最大塊的作為底圖的要素的style的zIndex設(shè)置成1000,其他上面的設(shè)置成2000鸠项。這樣子事情完美解決了干跛!
? ?誰也不會壓著誰了。祟绊。吼吼吼^_^