|
@@ -4,54 +4,54 @@ import Vue from 'vue'
|
|
|
let vue = new Vue()
|
|
|
|
|
|
export default class Utils {
|
|
|
- constructor(){
|
|
|
-
|
|
|
+ constructor() {
|
|
|
+
|
|
|
}
|
|
|
/**
|
|
|
* 设置初始视角
|
|
|
*/
|
|
|
- setInitView(krpano,canvas) {
|
|
|
- let url = this.setInitAngleImg(canvas);
|
|
|
- var sceneName = krpano.get('xml.scene');
|
|
|
- var hlookat = krpano.get("view.hlookat");
|
|
|
- var vlookat = krpano.get("view.vlookat");
|
|
|
- console.log(hlookat,vlookat);
|
|
|
- return {
|
|
|
- sceneName,
|
|
|
- hlookat,
|
|
|
- vlookat,
|
|
|
- url
|
|
|
- }
|
|
|
+ setInitView(krpano, canvas) {
|
|
|
+ let url = this.setInitAngleImg(canvas)
|
|
|
+ var sceneName = krpano.get('xml.scene')
|
|
|
+ var hlookat = krpano.get("view.hlookat")
|
|
|
+ var vlookat = krpano.get("view.vlookat")
|
|
|
+ console.log(hlookat, vlookat)
|
|
|
+ return {
|
|
|
+ sceneName,
|
|
|
+ hlookat,
|
|
|
+ vlookat,
|
|
|
+ url
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
scaleCanvas (canvas, width, height) {
|
|
|
let w = canvas.width
|
|
|
- let h = canvas.height;
|
|
|
-
|
|
|
+ let h = canvas.height
|
|
|
+
|
|
|
if (width == undefined) {
|
|
|
- width = w;
|
|
|
+ width = w
|
|
|
}
|
|
|
if (height == undefined) {
|
|
|
- height = h;
|
|
|
+ height = h
|
|
|
}
|
|
|
- var retCanvas = document.createElement('canvas');
|
|
|
- var retCtx = retCanvas.getContext('2d');
|
|
|
- retCanvas.width = width;
|
|
|
- retCanvas.height = height;
|
|
|
- retCtx.drawImage(canvas, 0, 0, w, h, 0, 0, width, height);
|
|
|
- return retCanvas;
|
|
|
+ var retCanvas = document.createElement('canvas')
|
|
|
+ var retCtx = retCanvas.getContext('2d')
|
|
|
+ retCanvas.width = width
|
|
|
+ retCanvas.height = height
|
|
|
+ retCtx.drawImage(canvas, 0, 0, w, h, 0, 0, width, height)
|
|
|
+ return retCanvas
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
getDataURL (canvas, type, width, height) {
|
|
|
- let cas = this.scaleCanvas(canvas, width, height);
|
|
|
- return cas.toDataURL(type, 1);
|
|
|
+ let cas = this.scaleCanvas(canvas, width, height)
|
|
|
+ return cas.toDataURL(type, 1)
|
|
|
}
|
|
|
|
|
|
- setInitAngleImg(mycanvas){
|
|
|
- var url = this.getDataURL(mycanvas,"image/jpeg",600,400);
|
|
|
- return url
|
|
|
+ setInitAngleImg(mycanvas) {
|
|
|
+ var url = this.getDataURL(mycanvas, "image/jpeg", 600, 400)
|
|
|
+ return url
|
|
|
}
|
|
|
- radarRotate(){
|
|
|
+ radarRotate() {
|
|
|
// console.log(sceneName,hlookat);
|
|
|
}
|
|
|
|
|
@@ -59,7 +59,7 @@ export default class Utils {
|
|
|
* 编辑热点
|
|
|
*/
|
|
|
|
|
|
- edithotspot(krpano,param){
|
|
|
+ edithotspot(krpano, param) {
|
|
|
krpano.call(`editImgTextHotSpot(
|
|
|
${param.img},
|
|
|
${param.name},
|
|
@@ -71,118 +71,118 @@ export default class Utils {
|
|
|
${param.link},
|
|
|
${true},
|
|
|
${param.visible},
|
|
|
- ${param.size||1},
|
|
|
- ${param.fontSize})`);
|
|
|
- }
|
|
|
+ ${param.size || 1},
|
|
|
+ ${param.fontSize})`)
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 添加热点
|
|
|
*/
|
|
|
|
|
|
- addhotspot(krpano,param, type){
|
|
|
- krpano.set("curscreen_x", $('#pano').width() / 2);
|
|
|
- krpano.set("curscreen_y", $('#pano').height() / 2);
|
|
|
- krpano.call("screentosphere(curscreen_x, curscreen_y, curscreen_ath, curscreen_atv);");
|
|
|
- let ath = krpano.get("curscreen_ath");
|
|
|
- let atv = krpano.get("curscreen_atv");
|
|
|
+ addhotspot(krpano, param, type) {
|
|
|
+ krpano.set("curscreen_x", $('#pano').width() / 2)
|
|
|
+ krpano.set("curscreen_y", $('#pano').height() / 2)
|
|
|
+ krpano.call("screentosphere(curscreen_x, curscreen_y, curscreen_ath, curscreen_atv);")
|
|
|
+ let ath = krpano.get("curscreen_ath")
|
|
|
+ let atv = krpano.get("curscreen_atv")
|
|
|
// 修改标签图片
|
|
|
krpano.call(`addImgTextHotSpot(
|
|
|
|
|
|
- static/panoassets/images/hotspot/icon/tab.svg,
|
|
|
+ static-qjkk/panoassets/images/hotspot/icon/tab.svg,
|
|
|
${param.name},
|
|
|
${param.hotspotTitle},
|
|
|
- ${param.ath!=''?param.ath:ath},
|
|
|
- ${param.atv!=''?param.atv:atv},
|
|
|
+ ${param.ath != '' ? param.ath : ath},
|
|
|
+ ${param.atv != '' ? param.atv : atv},
|
|
|
${true},
|
|
|
${type},
|
|
|
${param.link},
|
|
|
${true},
|
|
|
${param.visible},
|
|
|
${(100) || 1},
|
|
|
- ${Number(param.fontSize)})`);
|
|
|
-
|
|
|
-
|
|
|
- // 设置热点图片默认的偏移值
|
|
|
- let offset = '-130%'
|
|
|
- if (param.size < 1) {
|
|
|
- offset = '-200%'
|
|
|
- }
|
|
|
- if (param.size > 1) {
|
|
|
- offset = '-100%'
|
|
|
- }
|
|
|
- krpano.set('layer[tooltip_'+param.name+'].y',`${offset}`)
|
|
|
-
|
|
|
+ ${Number(param.fontSize)})`)
|
|
|
+
|
|
|
+
|
|
|
+ // 设置热点图片默认的偏移值
|
|
|
+ let offset = '-130%'
|
|
|
+ if (param.size < 1) {
|
|
|
+ offset = '-200%'
|
|
|
+ }
|
|
|
+ if (param.size > 1) {
|
|
|
+ offset = '-100%'
|
|
|
+ }
|
|
|
+ krpano.set('layer[tooltip_' + param.name + '].y', `${offset}`)
|
|
|
+
|
|
|
}
|
|
|
|
|
|
htmlEncode(str) {
|
|
|
- var s = "";
|
|
|
- if (str.length == 0) return "";
|
|
|
- s = str.replace(/\'/g, "'");
|
|
|
- s = s.replace(/\"/g, """);
|
|
|
- s = s.replace(/\(/g, "(");
|
|
|
- s = s.replace(/\)/g, ")");
|
|
|
- s = s.replace(/,/g, ",");
|
|
|
- return s;
|
|
|
+ var s = ""
|
|
|
+ if (str.length == 0) return ""
|
|
|
+ s = str.replace(/\'/g, "'")
|
|
|
+ s = s.replace(/\"/g, """)
|
|
|
+ s = s.replace(/\(/g, "(")
|
|
|
+ s = s.replace(/\)/g, ")")
|
|
|
+ s = s.replace(/,/g, ",")
|
|
|
+ return s
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- *
|
|
|
- * @param {*} 定位热点
|
|
|
+ *
|
|
|
+ * @param {*} 定位热点
|
|
|
*/
|
|
|
|
|
|
- looktohotspot(krpano, hotspotName){
|
|
|
- var curFov = krpano.get('view.fov');
|
|
|
- krpano.call('looktohotspot('+hotspotName+','+curFov+')');
|
|
|
+ looktohotspot(krpano, hotspotName) {
|
|
|
+ var curFov = krpano.get('view.fov')
|
|
|
+ krpano.call('looktohotspot(' + hotspotName + ',' + curFov + ')')
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
- *
|
|
|
- * @param {*} 定位热点
|
|
|
+ *
|
|
|
+ * @param {*} 定位热点
|
|
|
*/
|
|
|
|
|
|
- getHotspotHV(krpano, hotspotName){
|
|
|
- var ath = krpano.get(`hotspot[${hotspotName}].ath`);
|
|
|
- var atv = krpano.get(`hotspot[${hotspotName}].atv`);
|
|
|
- return {ath,atv}
|
|
|
+ getHotspotHV(krpano, hotspotName) {
|
|
|
+ var ath = krpano.get(`hotspot[${hotspotName}].ath`)
|
|
|
+ var atv = krpano.get(`hotspot[${hotspotName}].atv`)
|
|
|
+ return { ath, atv }
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 打开热点链接
|
|
|
*/
|
|
|
|
|
|
- linkopen(sceneCode, id){
|
|
|
+ linkopen(sceneCode, id) {
|
|
|
// vue.$bus.emit('clickHotspot', id)
|
|
|
vue.$msgCenter.publish('clickHotspot', id)
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 初始化
|
|
|
*/
|
|
|
|
|
|
- initHotspot(krpano,someData,type){
|
|
|
+ initHotspot(krpano, someData, type) {
|
|
|
|
|
|
if (!someData) {
|
|
|
- return
|
|
|
+ return
|
|
|
}
|
|
|
let mysd = someData
|
|
|
if (typeof someData == 'string') {
|
|
|
- mysd = JSON.parse(someData)
|
|
|
+ mysd = JSON.parse(someData)
|
|
|
}
|
|
|
mysd.hotspots.forEach(item => {
|
|
|
- this.addhotspot(krpano,item,type)
|
|
|
- });
|
|
|
+ this.addhotspot(krpano, item, type)
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 显示隐藏热点
|
|
|
*/
|
|
|
|
|
|
- toggleHotspot(krpano,toggle){
|
|
|
+ toggleHotspot(krpano, toggle) {
|
|
|
try {
|
|
|
- krpano.call(`set_hotspot_visible(${toggle})`);
|
|
|
+ krpano.call(`set_hotspot_visible(${toggle})`)
|
|
|
} catch (e) {
|
|
|
e
|
|
|
}
|
|
@@ -197,7 +197,7 @@ export default class Utils {
|
|
|
|
|
|
// toggleHotspot(krpano,someData,toggle){
|
|
|
// if (!someData) {
|
|
|
-// return
|
|
|
+// return
|
|
|
// }
|
|
|
// let mysd = JSON.parse(someData)
|
|
|
// mysd.hotspots.forEach(item => {
|