ship.3cba786e.js 5.7 KB

1
  1. import{f as g,T as b,X as k,M as $,V as j,F as S,S as R,I as C,a as M,b as V,P as F,c as ee,d as N}from"./Map.e82b79a7.js";import{r as f,ad as O,_ as B,P as te,L as se,g as Y,o as w,h as A,m as n,i as z,w as ae,t as i,k as o,N as p,q as P,z as ne,B as oe,l as le,n as ie,V as ce,W as re}from"./vendor.0bc3c1d4.js";import{_ as ue}from"./index.95a94035.js";var de="./assets/bigship_yh.30b85445.png",me="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAA5ElEQVRoge2aMQrCQBBFv8HO3iYHEcU7WKVMkzN4DM+leBAbe+uRHTegYiCikD/LfzDt8t8ukyYfBtjAdAaAbLqhvDN7ZD0AOOGVM4ALuKgBrN4SrQHs+xfZEt7+2EnZrcpWS7Kb/wbPXv3tuInpRRaBHTx7WvYGwJFwsceSPgCbJFIExe1IeCTChkTYkAgbEmFDImxIhA2JsCERNiTChkTYkAgbEmFDImxIhA2JsCERNooSafIPxajU7pCbD23g5kP73Hy4BX4Rz17csl8nzvELnn2eD9h9KNZEqjn5ssQvngF2BwPd+AH2S9JQAAAAAElFTkSuQmCC";const r=u=>(ce("data-v-20a5cf7a"),u=u(),re(),u),ve=r(()=>n("div",{id:"map",style:{height:"calc(100vh - 4.6em)",width:"100%"}},null,-1)),pe={style:{position:"absolute",left:"0.5em",top:"0.5em","font-size":"0.7em"}},he={slot:"header",class:"clearfix bg-blue",style:{padding:"0.29em"}},_e={style:{padding:"0.58em 0.29em"}},ge={class:"text item"},fe=r(()=>n("span",{class:"text-blue"},"\u7ECF\u5EA6\uFF1A",-1)),we={class:"text item",style:{padding:"0.29em 0"}},Ae=r(()=>n("span",{class:"text-blue"},"\u7EAC\u5EA6\uFF1A",-1)),ye={class:"text item"},Ee=r(()=>n("span",{class:"text-blue"},"\u822A\u901F\uFF1A",-1)),xe={class:"text item",style:{padding:"0.29em 0"}},Se=r(()=>n("span",{class:"text-blue"},"\u8239\u824F\u5411\uFF1A",-1)),Ie={class:"text item"},Te=r(()=>n("span",{class:"text-blue"},"\u72B6\u6001\uFF1A",-1)),Le={class:"shipSel"},be={key:0,class:"select-dropdown"},ke=["onClick"],Re={props:{shipLi:{type:Array,default:[]}},emits:["update"],setup(u,{emit:W}){const D=u;let l=f(null);const y=f(5),E=f(16);let d={},x=!1,h=f(null);const Q=O({center:g([118.26718,22.45402]),zoom:12,minZoom:2,maxZoom:18}),X=O({nowShip:{mmsi:413859981,name:"-----",lon:"-----",lat:"-----",hdg:"-----",sog:"-----",navistat:9},selVis:!1}),{nowShip:a,selVis:m}=B(X),G=function(e){m.value=!1,I(e)},I=function(e){if(a.value.mmsi!=e){let t=_.value;for(let s=0;s<t.length;s++)if(t[s].mmsi==e){a.value=t[s],L(a.value);break}}},H=function(){const e=new b({visible:!0,source:new k({url:"https://t5.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={x}&TILEROW={y}&TILEMATRIX={z}&tk=317e52a409b6b382957e09003ee7e235"}),isGroup:!0,name:"\u5929\u5730\u56FE\u8DEF\u7F51"}),t=new b({visible:!0,source:new k({url:"https://t3.tianditu.gov.cn/cva_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cva&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={x}&TILEROW={y}&TILEMATRIX={z}&tk=317e52a409b6b382957e09003ee7e235"}),isGroup:!0,name:"\u5929\u5730\u56FE\u6587\u5B57\u6807\u6CE8"});l.value=new $({layers:[e,t],view:new j(Q),target:"map"});var s=new S({});s.setStyle(T(s)),h.value=new M({features:[s]});var c=new V({source:h.value});l.value.addLayer(c)},T=function(e){return new R({image:new C({anchor:e.values_==null?[0,0]:e.values_.anchor==null?[.5,.98]:e.values_.anchor,anchorOrigin:"top-right",src:me,scale:y.value*.09,rotation:(e.values_==null||e.values_.cog==null?0:e.values_.cog)*(Math.PI/180)})})},Z=function(e){var t=new S({geometry:new F(g(e.ol)),name:e.name,key:e.mmsi,cog:e.hdg,anchor:e.anchor});t.setStyle(U(t)),d[e.mmsi]=new V({source:new M({features:[t]})}),l.value.addLayer(d[e.mmsi])},U=function(e){return new R({image:new C({anchor:e.values_==null?[0,0]:e.values_.anchor==null?[.5,1]:e.values_.anchor,anchorOrigin:"top-right",src:de,scale:y.value*.01,rotation:(e.values_==null||e.values_.cog==null?0:e.values_.cog)*(Math.PI/180)}),text:new ee({textAlign:"center",font:E.value*.26+"px \u5FAE\u8F6F\u96C5\u9ED1",offsetX:0,offsetY:26,text:e.get("name"),fill:new N({color:"#000"}),backgroundFill:new N({color:"rgba(255, 255, 255, 0.8)"}),padding:[1,4,1,4]})})},L=function(e){h.value.clear(),W("update",a.value);var t=new S({geometry:new F(g(e.ol)),cog:e.hdg,anchor:e.anchor});t.setStyle(T(t)),h.value.addFeature(t),l.value.getView().animate({center:g(a.value.ol),duration:1e3})},J=function(){l.value&&l.value.on("click",function(e){if(!!l.value){var t=l.value.forEachFeatureAtPixel(e.pixel,function(s,c){return s});t!=null&&I(t.values_.key)}})},K=function(){let e=_.value;e.forEach(s=>{d[s.mmsi]!=null&&(d[s.mmsi].getSource().clear(),l.value.removeLayer(d[s.mmsi])),Z(s)});let t=a.value.mmsi;if(t!=""){let s=e.findIndex((c,v)=>c.mmsi==t);s!=-1?a.value=e[s]:a.value=e[0]}else a.value=e[0];x||(x=!0,L(a.value))},{shipLi:_}=B(D);return te(_,e=>{K()},{deep:!0}),se(()=>{let e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;y.value=Math.ceil(e/320),E.value=e/1440*14,H(),x=!1,setTimeout(()=>{J()},100)}),(e,t)=>{const s=Y("el-card"),c=Y("el-icon");return w(),A("div",{style:ie("position: relative;font-size: "+E.value+"px;")},[ve,n("div",pe,[z(s,{class:"box-card","body-style":{width:"11.3em",padding:"0px !important"}},{default:ae(()=>[n("div",he,[n("span",null,i(o(a).name),1)]),n("div",_e,[n("div",ge,[fe,p(i(o(a).lon),1)]),n("div",we,[Ae,p(i(o(a).lat),1)]),n("div",ye,[Ee,p(i(o(a).sog)+" \u8282",1)]),n("div",xe,[Se,p(i(o(a).hdg)+" \xB0",1)]),n("div",Ie,[Te,p(i(/^[0-9]+.?[0-9]*/.test(o(a).sog)&&o(a).sog>0?"\u5728\u822A":"\u505C\u822A"),1)])])]),_:1},8,["body-style"])]),n("div",Le,[n("div",{class:"inpu",onClick:t[0]||(t[0]=v=>m.value=!o(m))},[n("span",null,i(o(a).name),1),z(c,{class:P(["el-sub-menu__icon-arrow",o(m)?"act":""])},null,8,["class"])]),o(m)?(w(),A("div",be,[n("ul",null,[(w(!0),A(ne,null,oe(o(_),(v,q)=>(w(),A("li",{key:q,onClick:Ce=>G(v.mmsi),class:P(["select-item",v.mmsi==o(a).mmsi?"act":""])},i(v.name),11,ke))),128))])])):le("",!0)])],4)}}};var Ne=ue(Re,[["__scopeId","data-v-20a5cf7a"]]);export{Ne as default};