@kq_npm/client3d_webgl_vue
Version:
KQGIS Client3D for Vue.js
1 lines • 3.94 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue"),require("@kq_npm/client_common_vue/_utils/gis-utils"),require("@kq_npm/client_common_vue/init.js")):"function"==typeof define&&define.amd?define("@kq_npm/client3d_webgl_vue",["vue","@kq_npm/client_common_vue/_utils/gis-utils","@kq_npm/client_common_vue/init.js"],t):"object"==typeof exports?exports["@kq_npm/client3d_webgl_vue"]=t(require("vue"),require("@kq_npm/client_common_vue/_utils/gis-utils"),require("@kq_npm/client_common_vue/init.js")):e["@kq_npm/client3d_webgl_vue"]=t(e.Vue,e["@kq_npm/client_common_vue/_utils/gis-utils"],e["@kq_npm/client_common_vue/init.js"])}(this,(function(e,t,n){return function(){"use strict";var i={2691:function(e,t,n){n.d(t,{Z:function(){return i}});class i{_viewer=null;constructor(e){this._viewer=e}resetOrientation(){var e=this._viewer.camera,t=this._viewer.scene,n=t.globe.depthTestAgainstTerrain;n||(t.globe.depthTestAgainstTerrain=!0);var i=t.canvas,o=new Cesium.Cartesian2(i.clientWidth/2,i.clientHeight/2);setTimeout((()=>{var i=t.pickPosition(o);i||(i=t.camera.pickEllipsoid(o,t.globe.ellipsoid)),t.globe.depthTestAgainstTerrain=n;var r=Cesium.Cartesian3.distance(i,e.positionWC),s=e.pitch,u=new Cesium.HeadingPitchRange(6.28319,s,r);e.lookAt(i,u),e.lookAtTransform(Cesium.Matrix4.IDENTITY)}),300)}bindCompassEvent(e){var t=this._viewer.camera;this._removeEventListener=t.changed.addEventListener((function(){e.value=t.heading}))}destroy(){this._removeEventListener&&(this._removeEventListener(),this._removeEventListener=null),this._viewer=null}}},348:function(e){e.exports=require("@kq_npm/client_icons_vue")},7080:function(e){e.exports=require("vue-i18n/dist/vue-i18n.cjs.js")},7135:function(e){e.exports=t},7997:function(e){e.exports=n},1895:function(t){t.exports=e}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}};return i[e](n,n.exports,r),n.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};return function(){r.r(s),r.d(s,{CompassViewModel:function(){return n.Z},default:function(){return l}});var e=r(1895),t=r(348),n=r(2691),i=r(7135),o=r(7080);const u={name:"Kq3dCompass"};var l=Object.assign(u,{props:{mapTarget:String,iconSize:{type:Number,default:16},size:{type:Number,default:32},showShadow:{type:Boolean,default:!1}},setup(r){const s=r,{proxy:u}=(0,e.getCurrentInstance)();let l=(0,e.ref)(u.$i18n.global.messages[u.$i18n.global.locale].webgl),a=null,c=(0,e.ref)(0),{locale:m,messages:p}=(0,o.useI18n)();function v(e){a&&a.resetOrientation()}return(0,e.watch)((()=>m.value),((e,t)=>{l.value=p.value[e].webgl})),(0,e.onMounted)((()=>{i.utils.getWebMap(s.mapTarget,(e=>{e&&(a=new n.Z(e._viewer),a.bindCompassEvent(c))}))})),(0,e.onBeforeUnmount)((()=>{a&&a.destroy()})),(n,i)=>{const o=(0,e.resolveComponent)("kq-icon"),s=(0,e.resolveComponent)("kq-button");return(0,e.openBlock)(),(0,e.createBlock)(s,{onClick:v,class:(0,e.normalizeClass)([{"kq-light-shadow":r.showShadow}]),title:(0,e.unref)(l).resetOrientation,style:(0,e.normalizeStyle)("clip-path: circle(50%);width:"+r.size+"px;height:"+r.size+"px;")},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(o,{size:r.size/2,style:(0,e.normalizeStyle)("transform: rotate(-"+(0,e.unref)(c)+"rad);-webkit-transform: rotate(-"+(0,e.unref)(c)+"rad)")},{default:(0,e.withCtx)((()=>[(0,e.createVNode)((0,e.unref)(t.IconCompass3D))])),_:1},8,["size","style"])])),_:1},8,["class","title","style"])}}}),a=r(7997),c=r.n(a);l.install=(e,t)=>{c()(e,t),e.component(l.name,l)}}(),s}()}));