本篇作為《Vue+OpenLayers6入門教程》和《Vue+OpenLayers6實戰進階案例》所有文章的二合一彙總目錄,方便查找。 本專欄源碼是由OpenLayers6.15.1版本結合Vue2框架編寫,同時支持Vue3,零星幾篇文章用到了Element-UI庫。 本專欄從Vue搭建腳手架到如何 ...
本篇作為《Vue+OpenLayers6入門教程》和《Vue+OpenLayers6實戰進階案例》所有文章的二合一彙總目錄,方便查找。
本專欄源碼是由OpenLayers6.15.1版本結合Vue2框架編寫,同時支持Vue3,零星幾篇文章用到了Element-UI庫。
本專欄從Vue搭建腳手架到如何引入OpenLayers依賴的每一步詳細新手教程,再到通過各種入門案例和綜合性的實戰案例,帶領大家快速上手Vue+OpenLayers6開發。
# 反饋和建議
OpenLayers系列-交流專區,建議和問題反饋
OpenLayers6入門目錄
一、介紹
Gis開發入門,OpenLayers、Leaflet、Maplibre-gl和Cesiumjs地圖引擎介紹以及幾種地圖服務vms、vmts介紹
二、入門
- (vue小白必讀)OpenLayers6入門,快速搭建vue+OpenLayers地圖腳手架項目
- (必讀)OpenLayers6入門,vue項目集成並使用OpenLayers地圖的兩種方式
- (必讀)OpenLayers6入門,HTML網頁原生如何使用OpenLayers地圖
- OpenLayers6入門,OpenLayers地圖基本概念(Map、View、Layer、Source四種基本類型)
- OpenLayers6入門,OpenLayers地圖初始化時如何設置預設縮放級別、設置預設地圖中心點、最大縮放級別和最小縮放級別以及預設坐標系
- OpenLayers6入門,OpenLayers6地圖預設使用什麼投影? 要如何更改OpenLayers6地圖的投影?
- OpenLayers6入門,如何銷毀已經創建好的OpenLayers地圖容器
三、地圖控制項
鷹眼控制項
8. OpenLayers6入門,OpenLayers地圖顯示鷹眼控制項
9. OpenLayers6入門,OpenLayers載入離線xyz瓦片地圖並顯示離線鷹眼控制項
地圖縮放控制項、比例尺控制項、滑鼠經過地圖顯示經緯度控制項
10. OpenLayers添加地圖縮放控制項、比例尺控制項和滑鼠經緯度位置
全屏控制項
11. OpenLayers6入門,OpenLayers如何實現地圖全屏和退出全屏操作,實現指定網頁節點全屏和退出全屏
12. OpenLayers6入門,OpenLayers使用地圖全屏控制項,控制地圖進入全屏和退出全屏
網格標記線控制項
13. OpenLayers6入門,地圖全圖顯示經緯度網格標記線
四、地圖定位、縮放和可視範圍跳轉
無動畫效果
14. Openlayers6入門,Openlayers調整中心點坐標、Openlayers調整縮放級別、Openlayers調整地圖可視角度和地圖複位
15. Openlayers6入門,Openlayers調整地圖可視範圍到多個點組成的多邊形邊界,可視範圍縮放到多個點的中心點
平移效果
16. OpenLayers6入門,OpenLayers平移地圖到指定位置,地圖平移動畫效果
飛行效果
17. OpenLayers6入門,OpenLayers視圖飛行動畫,OpenLayers飛行到指定經緯度位置
旋轉效果
18. OpenLayers6入門,OpenLayers旋轉地圖到移動到指定位置,旋轉動畫效果,邊旋轉邊移動到指定位置
彈簧跳躍和彈跳效果
19. OpenLayers6入門,OpenLayers使用彈跳動畫和彈簧動畫效果移動地圖到指定位置,兩種彈跳動畫效果
五、事件監聽
地圖載入事件和載入完成事件
20. OpenLayers6入門,OpenLayers如何監聽載入事件和載入完成事件來實現載入瓦片時顯示動圖轉圈載入進度條(loading spinner),載入完成後隱藏
瓦片載入事件
21. OpenLayers6入門,OpenLayers使用瓦片載入事件實現瓦片載入進度條,進度條根據瓦片載入數量自動更新進度,載入完畢後隱藏進度條
滑鼠移動事件
22. OpenLayers6入門,OpenLayers滑鼠移動事件使用,實現滑鼠移動到點位上方後高亮顯示點位要素
滑鼠點擊事件
23. OpenLayers6入門,OpenLayers地圖滑鼠點擊事件使用,點擊地圖後彈框並顯示當前位置經緯度
與Vue組件聯動彈框
24. OpenLayers6入門,OpenLayers的Popup彈出框如何內嵌Vue組件內容和內嵌iframe網頁,根據所點擊要素動態切換彈框內容
六、圖層管理
七、各種類型地圖瓦片圖層載入(圖片、xyz、超圖、百度、高德、天地圖、谷歌地圖、必應地圖,wmts、wms、tms和wfs等)
- OpenLayers6入門,OpenLayers使用一張圖片作為地圖的基本底圖
xyz(google、高德) - OpenLayers6入門,OpenLayers如何載入xyz瓦片圖層
WMTS - OpenLayers通過WMTSCapabilities.xml載入GeoServer發佈的標準wmts地圖服務
- Openlayers通過計算matrixIds和resolutions方式載入WMTS地圖服務,不需要解析WMTSCapabilities文檔方式載入WMTS地圖服務
WMS - OpenLayers6入門,OpenLayers載入GeoServer發佈的WMS地圖服務作為底圖
TMS - OpenLayers6入門,OpenLayers如何載入TMS瓦片服務,以騰訊地圖TMS圖層為例
高德底圖 - OpenLayers6入門,OpenLayers如何使用高德地圖底圖作為圖層圖源
百度底圖 - OpenLayers6入門,OpenLayers使用百度地圖底圖作為圖源,不需要地圖開放平臺token就可以訪問
天地圖 - OpenLayers6入門,OpenLayers載入天地圖
超圖底圖 - OpenLayers6入門,OpenLayers如何使用超圖地圖(supermap)發佈的地圖服務作為基礎圖層
Goole地圖 - OpenLayers6入門,OpenLayers載入Google街景地圖
- OpenLayers6入門,OpenLayers載入必應地圖(BingMap),需要申請api key
海圖 - OpenLayers6入門,OpenLayers載入船訊網航海地圖
離線瓦片地圖 - OpenLayers6入門,OpenLayers載入離線瓦片xyz地圖,vue項目如何使用離線瓦片
八、疊加熱力圖
九、點、線、多邊形、圖片、動態圖片、點聚合等多種圖形疊加
WebGL圖層簡單疊加圓點和圖標
- OpenLayers6入門,使用webgl圖層疊加大量Point點要素,解決疊加超過一百萬數據量點位導致瀏覽器卡住變慢的問題
- OpenLayers6入門,使用webgl圖層疊加超過一百萬數據量圖片到地圖,解決疊加大量圖片導致瀏覽器卡住變慢的問題
WebGL樣式運算符
疊加Gif動態圖片
點聚合(聚散點)
- OpenLayers6入門,OpenLayers實現點聚合(聚散點)功能,地圖縮小顯示聚集數量,點擊聚集點散開和地圖放大後顯示要素圖片
- OpenLayers6入門,OpenLayers點聚合(聚散點)動態樣式,根據周圍聚集數量不同切換多種顏色顯示,點擊聚集點散開和地圖放大後顯示要素圖片
十、格式化數據疊加
(1)WFS格式
(2)GeoJSON格式
- OpenLayers6入門,OpenLayers如何載入GeoJson數據並疊加到OpenLayers矢量圖層上
- OpenLayers6入門,OpenLayers如何載入百萬數據量的GeoJson點數據並疊加到webgl渲染圖層上,百萬海量點數據疊加不卡
- OpenLayers6入門,OpenLayers如何載入GeoJson多邊形、線段、點和區域範圍等數據並疊加到OpenLayers矢量圖層上
從vue項目的assets資源目錄載入geojson文件 - OpenLayers6入門,OpenLayers從vue的assets資源路徑載入geojson文件並解析數據疊加到地圖上,以載入世界各國邊界為例
fetch方式載入geojson - OpenLayers6入門,OpenLayers解析通過fetch請求的GeoJson格式數據,並疊加要素文字標註,以行政區劃邊界為例
(3)wkt格式
(3)TopoJson數據疊加
- OpenLayers6入門,OpenLayers載入TopoJson數據,使用行政區劃邊界作為示例
從vue項目的assets資源目錄載入TopoJson文件 - OpenLayers6入門,OpenLayers從vue的assets資源路徑載入TopoJson文件並解析數據疊加到地圖上,以載入世界各國邊界為例
fetch方式載入TopoJson - OpenLayers6入門,OpenLayers使用fetch載入並顯示TopoJson格式區劃邊界數據並疊加文字標註,動態創建要素樣式
十一、動畫
- OpenLayers6入門,OpenLayers動畫效果實現,OpenLayers實現軌跡運動動畫
- OpenLayers6入門,OpenLayers實現多個軌跡運動動畫效果,也可以實現二維地圖遷徙圖效果
- OpenLayers6入門,OpenLayers實現地圖原地旋轉動畫效果
十二、圖形繪製編輯拖拽
- OpenLayers圖形繪製,OpenLayers實現在地圖上繪製線段、圓形和多邊形
- OpenLayers6入門,OpenLayers塗鴉手繪線條、圓形和多邊形,塗鴉線條自動收尾連接成多邊形
- OpenLayers選擇拖拽,OpenLayers實現對地圖上的任意要素進行選擇和拖拽
十三、其他
入門和實戰分界線
Openlayers6實戰進階
綜合案例
- Openlayers6實戰,Openlayers如何設置米作為作為圓形的真實半徑,解決圓形半徑跟隨地圖縮放同時縮放的失真問題
圖形交集計算 - OpenLayers6實戰,OpenLayers判斷點位是否與多邊形有交集,判斷車輛是否在電子圍欄內
滑鼠經過要素事件 - OpenLayers6實戰,OpenLayers實現地圖滑鼠經過點要素時顯示名稱標註提示框,移出後隱藏
- OpenLayers6實戰,OpenLayers自定義overlay彈框拖拽事件,點擊地圖後彈框並使用滑鼠拖拽overlay彈框到任意地圖位置併在彈框內容實時顯示經緯度位置
滑鼠經過邊界高亮顯示:基於GeoJson格式數據 - OpenLayers6實戰,OpenLayers解析渲染GeoJson格式中國省級邊界並實現滑鼠經過區劃高亮顯示省級邊界
滑鼠經過邊界高亮顯示:基於TopoJson格式數據 - OpenLayers6實戰,OpenLayers解析渲染TopoJson格式區劃邊界數據和實現滑鼠經過高亮顯示區劃邊界和文字
滑鼠點擊選中邊界範圍高亮顯示:基於GeoJson格式數據 - OpenLayers6實戰,OpenLayers實現GeoJson格式的省級區劃數據渲染和滑鼠點擊省界自動選中並高亮顯示省界範圍,點擊空白區域取消高亮
滑鼠點擊選中邊界範圍高亮顯示:基於TopoJson格式數據 - OpenLayers6實戰,OpenLayers實現TopoJson格式區劃邊界滑鼠點擊選中高亮顯示,點擊空白區域取消高亮
Vue組件聯動動態切換效果:基於TopoJson格式數據 - OpenLayers6實戰,OpenLayers結合TopoJson區劃邊界數據,結合下拉菜單實現城市切換,動態切換城市邊界到地圖視圖視角範圍內
- OpenLayers6實戰,OpenLayers點聚合有相同經緯度坐標時無法展開問題解決辦法,當縮放級別達到一定等級後強行展開聚合為單個點
定位
- Openlayers6實戰,Openlayers獲取瀏覽器當前用戶的經緯度位置並定位到對應位置
- OpenLayers6實戰,OpenLayers獲取移動端精確定位,OpenLayers適配App混合H5方式調用手機定位位置並定位到指定點
- OpenLayers6實戰,OpenLayers調用手機陀螺儀方向實現指南針效果
定位並高亮顯示用戶所在行政區劃邊界 - OpenLayers6實戰,OpenLayers獲取用戶定位位置並高亮顯示用戶所在行政區劃邊界
webgl圖層運算符實戰
match
運算符實現一張合成拼接圖根據坐標切片成單獨圖標渲染
match
運算符匹配多種顏色三角形實戰案例
match
運算符和interpolate
插值運算符匹配多種顏色和多種直徑大小的圓形圓點實戰案例
case
運算符結合邏輯運算符判斷透明度,match
運算符匹配多種顏色和interpolate
插值運算符匹配大小
match
運算符配合滑鼠經過事件高亮要素效果
動畫特效
- Openlayers實戰,Openlayers實現類似呼吸燈的閃爍圓圈特效,光暈擴散動畫特效,可調光暈擴散速度,可調光暈圓圈大小
- Openlayers實戰,OpenLayers實現定時閃爍動畫效果,定時閃爍光暈特效
- OpenLayers6實戰,OpenLayers實現動態的雷達掃描圖動畫效果
運動軌跡和遷徙圖
- Openlayers6實戰,Openlayers一個車輛轉向運動軌跡動畫,支持根據軌跡運動方向自動改變車頭轉向角度,無需定時器,絲滑小車轉向運動效果
- OpenLayers6實戰,OpenLayers實現多個車輛船舶運動軌跡動畫和遷徙圖效果,車頭方向根據軌跡方向自動轉向,無需定時器
- OpenLayers6實戰,OpenLayers實現多個軌跡運動動畫,各個軌跡使用不同的運動速度,運動方向根據軌跡運動方向自動轉向
飛機飛行軌跡動畫 - OpenLayers6實戰,OpenLayers實現飛機飛行軌跡動畫。飛機圖標自動沿著生成的貝塞爾曲線勻速運動
氣象臺風動畫 - OpenLayers6實戰,OpenLayers實現氣象臺風颶風運動軌跡運動動畫,可調颱風旋轉速度和運動速度,靜態圖片旋轉動畫
特殊圖形繪製
三角形
28. OpenLayers6實戰,OpenLayers實現滑鼠拖拽繪製三角形,OpenLayers自定義繪製特殊圖形
菱形
29. OpenLayers6實戰,OpenLayers繪製特殊圖形,OpenLayers繪製四角形(菱形),OpenLayers繪製菱形
矩形
30. OpenLayers6實戰,OpenLayers實現滑鼠拖拽方式繪製矩形(拖拽方式繪製長方形和正方形)
平行四邊形
31. OpenLayers6實戰,OpenLayers實現滑鼠拖拽方式繪製平行四邊形
五角星
32. OpenLayers6實戰,OpenLayers繪製五角星,OpenLayers繪製特殊圖形,地圖上畫五角星
六芒星
33. OpenLayers6實戰,OpenLayers繪製六角形(六角星)圖形,OpenLayers繪製特殊圖形
扇形
34. OpenLayers6實戰,OpenLayers實現繪製扇形,OpenLayers繪製特殊殊圖形四分之一圓
箭頭
35. OpenLayers6實戰,Openlayers實現繪製箭頭,Openlayers繪製軌跡路徑箭頭,可調箭頭角度和箭頭長度
橢圓
36. OpenLayers6實戰,OpenLayers實現滑鼠拖拽方式繪製橢圓
半圓扇形
37. OpenLayers6實戰,OpenLayers滑鼠拖拽方式繪製半圓形(半圓扇形)
畫圓環
38. OpenLayers6實戰,OpenLayers實現滑鼠拖拽方式繪製空心圓環
39. OpenLayers6實戰,OpenLayers實現滑鼠拖拽方式繪製環形(四分之一圓環),OpenLayers特殊圖形繪製
40. OpenLayers6實戰,OpenLayers滑鼠拖拽方式繪製半圓環形(半圓扇形)
測量距離和測量區域面積
41. OpenLayers6實戰,OpenLayers畫線測量距離和畫多邊形測量區域面積
框選地圖放大
42. OpenLayers6實戰,OpenLayers實現繪製圓形放大地圖功能,在地圖上畫圓放大地圖到滑鼠框選區域
43. OpenLayers6實戰,OpenLayers實現繪製矩形區域放大地圖功能,滑鼠框選放大地圖
自定義控制項
- OpenLayers6實戰:OpenLayers創建自定義控制項,以創建一個地圖複位控制項為例
- OpenLayers6實戰,OpenLayers創建自定義鷹眼控制項,自定義鷹眼控制項樣式,調整鷹眼控制項位置、大小、文字和按鈕等樣式
氣象風場
風場效果
46. OpenLayers6實戰,OpenLayers使用wind-layer插件實現風場動態效果
颱風/颶風
颱風/颶風動畫軌跡同時放在運動軌跡中: OpenLayers實戰,OpenLayers實現氣象臺風颶風運動軌跡運動動畫,可調颱風旋轉速度和運動速度,靜態圖片旋轉動畫
性能優化(瓦片載入速度優化)
- Openlayers6實戰,OpenLayers預載入瓦片,解決移動地圖或縮放地圖時出現空白瓦片的問題
- Openlayers6實戰,Openlayers優化載入地圖瓦片太慢的問題,Openlayers瓦片緩存實現和請求失敗瓦片重試功能
- Openlayers6實戰,Openlayers使用瀏覽器內置IndexDB資料庫緩存地圖瓦片,優化地圖瓦片載入速度和瀏覽器記憶體占用
坐標轉換
- OpenLayers6實戰,高德GCJ-02坐標系轉WGS-84坐標系
- OpenLayers6實戰,OpenLayers高德地圖瓦片位置糾偏,將高德底圖瓦片位置轉換為EPSG:4326和EPSG:3857
未完,持續更新中...
Vue+OpenLayers6進階專欄推薦:
《OpenLayers擴展組件系列彙總目錄:常用OpenLayers地圖擴展組件ol-ext、ol-cesium、ol-layerswitcher、ol-geocoder和ol-wind等擴展庫實戰示例》