探索photo-sphere-viewer全景插件

来源:https://www.cnblogs.com/sxpNo1/archive/2019/01/14/10267051.html
-Advertisement-
Play Games

此插件是一位外國人寫的,官網API地址:https://photo-sphere-viewer.js.org/#methods 我只是記錄下我在使用此插件時用到的方法和相關屬性,以防以後忘記 1.按要求在頁面中引入文件後,使用以下方式調用,其它配置 jq選中的元素最後返回的是一個document,不 ...


此插件是一位外國人寫的,官網API地址:https://photo-sphere-viewer.js.org/#methods

我只是記錄下我在使用此插件時用到的方法和相關屬性,以防以後忘記

1.按要求在頁面中引入文件後,使用以下方式調用,其它配置

 var viewer =new PhotoSphereViewer({
  panorama: $('#p'+p_id).find('li:first-child').find('img').attr('data-src'), //全景圖片的路徑
  container: document.getElementById('showImg'),  //承載全景圖的div盒子
  cache_texture:15000,  
  default_long:'-46', //初始經度,介於0和2π之間
  default_lat:'0', //初始緯度,介於-π/ 2和π/ 2之間。
  min_fov:30, //最小視野(對應於最大變焦),介於1和179之間。
  max_fov:90, //最大視野(對應於最小變焦),介於1和179之間。
  default_fov:90,
  time_anim: true, //全景圖在time_anim毫秒後會自動進行動畫 可以填寫數字
  fisheye:false,
  navbar: [
   'autorotate',
   'zoom',
   'gyroscope',
   'caption',
   'markers',
   //{ //自定義按鈕
   // id: 'my-button',
   // title: 'Hello world',
   // className: 'custom-button',
   // content: 'Custom',
   // onClick: function() {
   // alert('Hello from custom button');
   // }
   //},
  ],
  size: { // Resize the panorama
   width: '100%',
   height: '100%'
  },
  gyroscope:true,
  loading_txt:'Loading.....', // 顯示在載入圓的中心的圖像的路徑。
  markers: null,
  usexmpdata:true,
  pano_data: { //在此示例中,4000x2000圖像用作6000x3000全景圖的一部分,剩餘空間將呈現為黑色。
   full_width: 6000,
   full_height: 3000,
   cropped_width: 4000,
   cropped_height: 2000,
   cropped_x: 1000,
   cropped_y: 500
  },
  transition: {
   duration: 1500, // duration of transition in milliseconds
   loader: true // should display the loader ?
  }
  });
2.若想在原插件狀態欄中加入html,比如按鈕啊,icon啊 什麼的:
  

  $($('.psv-caption')[0]).html("巴拉巴拉~"); 若不這樣寫,像平時這樣來:$('.psv-caption') 是不行的,此代碼返回的是 

  

  jq選中的元素最後返回的是一個document,不能直接操作 

3.選中全景中標記:

  PSV.on('select-marker', function (marker) {});
  marker攜帶了新建標記時傳遞的信息:唯一id、 標記類型.....

4. 全景圖正在旋轉時觸發:PSV.on('position-updated',function(po){});
 可以是自動旋轉,也可以是手動滑動 ,po返回的是一個json對象,是全景當前位置經緯度坐標信息
5.確定當前圖片是否在緩存中:
 
PSV.getPanoramaCache(src) 返回ture:在緩存中,false:未在緩存中

 
此方法只有在開始配置時設置過緩存數量(cache_texture ) 才可以使用,否則報錯,因為cache_texture 預設為0
6.清除緩存:PSV.clearPanoramaCache(src) //src:圖片地址

7.重新設置圖片全景:PSV.setPanorama(src,true,true);

8.判斷當前全景是否有標記:
  if( PSV.hud.markers){
   PSV.hud.clearMarkers();
  }
9.為當前全景添加標記: 標記格式按照官網去寫
  PSV.addMarker({marker}) 
10.重新渲染全景:

  PSV.render();
11.當全景載入完成後再進行操作,否則很卡頓:
  PSV.on('ready', function() {});
 


 


 

 

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、常規css方法——使Firefox以外主流瀏覽器文字溢出省略號表示 下圖為此常用方法在各個瀏覽器下的表現: IE6瀏覽器下 IE6瀏覽器下 IE7瀏覽器下 IE7瀏覽器下 chrome谷歌瀏覽器下 chrome谷歌瀏覽器下 Safari瀏覽器下 Safari瀏覽器下 opera瀏覽器下 oper ...
  • 這個滑鼠點擊的效果只需要通過下麵這段代碼即可實現: 將如下代碼放在頁首、頁腳或者公告欄部分都可以! PS:css樣式和點擊的文字都可以在該代碼中自行修改成自己想要的。 ...
  • 網址收藏 : "React官網" , "React的Github" , "React的中文文檔" 1.react是什麼? React 起源於Facebook的內部項目,因為該公司對市場上所有的Javascript MVC框架都不滿意,決定自己寫一套,用來架設Instargm的網站。做完以後,發現很好 ...
  • Vue中使用樣式 綁定css 使用內聯樣式 </script> ...
  • vue-resource+iview上傳文件取消上傳 子組件: 父組件調用: ...
  • JavaScript 事件 HTML 事件是發生在 HTML 元素上的事情。 當在 HTML 頁面中使用 JavaScript 時, JavaScript 可以觸發這些事件。 1.HTML 事件 HTML 事件可以是瀏覽器行為,也可以是用戶行為。 以下是 HTML 事件的實例: HTML 頁面完成加 ...
  • LayaBox案例分享 小程式開篇(3) 不知不覺已經是上線小程式基礎篇的最後一篇了,今天我會把源碼發到本文的底部,有需要的可以拿去練手。 大家可以體驗一下,請掃碼: 這個頁面我們主要用到的知識有;佈局依然是WEUI;數據解析插件WxParse,下麵會額外分享一下WxParse的兩種用法;微信小程式 ...
  • 問題 父級元素不能被子元素內容撐開的解決辦法,父級元素沒有高度的解決辦法。 今天在寫網頁時遇到如下圖問題,解決問題後自己做個隨筆,希望幫到更多的學前端的童鞋! 問題圖片 問題描述 最外層的父級元素不能自適應高度-不能隨對象撐開沒有高度 當在對象內的盒子使用了float後,導致對象本身不能被撐開自適應 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...