這篇文章主要介紹了如何實現支持Canvas的Leaflet.Path.DashFlow動態流向線,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
目前創新互聯已為上千余家的企業提供了網站建設、域名、網站空間、網站托管、企業網站設計、遵化網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
通過對leaflet以及其插件的學習,我們了解到使用Leaflet.Path.DashFlow
插件可實現軌跡動態展示、管道流向動態展示、河流流向動態展示等,達到增強可視化展示的效果。該插件使用方式非常簡單,只需在正常添加線的時候,加入dashArray
和dashSpeed
參數即可。核心代碼如下:
注意,在
dashSpeed
為負時,線是正向流動。
效果如下:
但是在使用的過程中,發現該插件有個弊端,就是當使用Canvas
方式繪制地圖(初始化地圖preferCanvas
參數為true
)時,動態效果不可用。那要如何解決這個問題呢?
通過對Leaflet.Path.DashFlow
以及leaflet
源碼的研究,發現動態線的效果主要是通過動態刷新dashOffset
參數的值,以改變線的樣式來實現。
L.SVG
在_updateStyle
的時候,更新了dashOffset
參數,但是L.Canvas
在_updateStyle
時,并沒有更新dashOffset
參數。這即是在Canvas
方式繪制時沒有動態效果的原因。
L.SVG:
L.Canvas:
由此,我們找到了解決思路,即在L.Canvas
的_updateStyle
方法中,參考L.SVG
的處理方式,添加對dashOffset
參數的控制。核心代碼如下:
為方便使用,我們將L.Path.DashFlow
插件重新封裝,大家引用這個插件,即可在Canvas
和SVG
兩種方式下使用此插件。
使用Leaflet.Path.DashFlow
插件可實現軌跡動態展示、管道流向動態展示等動態線效果。
默認插件在使用Canvas
方式繪制地圖(初始化地圖preferCanvas
參數為true
)時,動態效果不可用。
通過修改L.Canvas
中代碼,即可在Canvas
方式時實現動態線效果。
將L.Path.DashFlow
插件重新封裝,引用插件,即可在Canvas
和SVG
兩種方式下實現動態線效果。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何實現支持Canvas的Leaflet.Path.DashFlow動態流向線”這篇文章對大家有幫助,同時也希望大家多多支持創新互聯,關注創新互聯行業資訊頻道,更多相關知識等著你來學習!
網站欄目:如何實現支持Canvas的Leaflet.Path.DashFlow動態流向線
文章起源:http://vcdvsql.cn/article12/pehpdc.html
成都網站建設公司_創新互聯,為您提供網頁設計公司、響應式網站、App設計、微信小程序、網站制作、外貿網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯