leaflet圖斑歷史時空播放(附源碼下載)


前言

leaflet 入門開發系列環境知識點了解:

內容概覽

leaflet圖斑歷史時空播放
源代碼 demo 下載

效果圖如下:

本篇主要是 leaflet 通過調用 geoserver 發布的圖斑地圖服務 WMS,以 L.tileLayer.wms 圖層加載形式疊加顯示在地圖,配合時間軸 timeline.js 插件來動態播放圖斑變化效果,圖斑隨着時間軸的時間變化,核心是利用 L.tileLayer.wms 圖層的屬性過濾條件:cql_filter。
時間軸 timeline.js 插件的 github 地址:https://github.com/ilkeryilmaz/timelinejs

  • 時間軸控件初始化:
  • $( '.js-timeline').Timeline({
  • autoplay: false,//設置是否自動播放
  • isreplay: true,//在timeline原有的源碼基礎上,自己添加的一個屬性,用來設置是否循環播放
  • autoplaySpeed: 1500,//設置播放時間間隔
  • pauseOnHover: false
  • });
  • 時間軸刻度條模擬數據,對應 geoserver 發布的圖斑數據:
  • timeSpotList = ['2019-08-27T16:00:00Z','2019-08-26T16:00:00Z','2019-08-25T16:00:00Z','2019-08-24T16:00:00Z','2019-08-23T16:00:00Z','2019-08-22T16:00:00Z','2019-08-21T16:00:00Z','2019-08-20T16:00:00Z','2019-08-19T16:00:00Z','2019-08-18T16:00:00Z'];
  • 圖斑圖層初始化:
  • //地圖疊加歷史擾動圖斑
  • spotWmsLayer = L.tileLayer.wms( "http://localhost:8180/geoserver/gwc/service?", {
  • layers: 'DGSYS:historySpot', //需要加載的圖層
  • format: "image/png", //返回的數據格式
  • transparent: true,
  • cql_filter: "atime = 2019-08-27T16:00:00Z"
  • }).addTo(map);
  • 在timeline.js 時間軸變化事件的基礎上,新增動態刷新圖斑數據效果代碼:

完整demo源碼見小專欄文章尾部GIS之家leaflet小專欄

文章尾部提供源代碼下載,對本專欄感興趣的話,可以關注一波


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM