Skip to content

Commit 89d2c2c

Browse files
committed
feat: 全景图预览器
1 parent e2df7c8 commit 89d2c2c

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed

_posts/2022-08-11-para-viewer.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
layout: pure
3+
title: 全景浏览器-拖入全景图预览
4+
---
5+
6+
<link rel="stylesheet" href="/resource/2022/pannellum.css"/>
7+
8+
<style>
9+
10+
body,html{
11+
height: 100%;
12+
margin: 0;
13+
padding: 0;
14+
15+
}
16+
#panorama {
17+
width: 100%;
18+
height: 100%;
19+
}
20+
div.pnlm-tooltip span{
21+
visibility:visible;
22+
}
23+
</style>
24+
<script src="/resource/2022/pannellum.js"></script>
25+
<link rel="stylesheet" href="/resource/2022/pannellum.css"/>
26+
<div id="panorama"></div>
27+
<script src="/resource/2022/0811_para_viewer.js"></script>

resource/2022/0811_para_viewer.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
let paraViewer;
2+
const dropTarget = document.getElementById("panorama");
3+
dropTarget.addEventListener("dragover", (event) => {
4+
// prevent default to allow drop
5+
event.preventDefault();
6+
});
7+
dropTarget.addEventListener("drop", (event) => {
8+
event.preventDefault();
9+
console.log("event: ", event);
10+
const file = event.dataTransfer?.files[0];
11+
if(file){
12+
const reader = new FileReader();
13+
reader.onload = (e) => {
14+
paraViewer && paraViewer.destroy()
15+
paraViewer = pannellum.viewer("panorama", {
16+
type: "equirectangular",
17+
panorama: e.target.result,
18+
autoLoad: true,
19+
pitch: 10,
20+
});
21+
}
22+
reader.readAsDataURL(file);
23+
}
24+
});

0 commit comments

Comments
 (0)