gisviewer-vue3-arcgis
Version:
在应用中引入私服的包, 项目根目录下 新建文件 .npmrc 在 .npmrc 中对包源进行配置:
2 lines (1 loc) • 10.7 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),q=require("../stores/index.js"),Dt=require("./utils/dbscan-cluster/index.js"),Lt=require("./utils/detect-gpu.js"),Tt=require("./utils/edpass-device-controller.js"),N=require("./utils/green-wave-band-controller/index.js"),Bt=require("./utils/holo-flow/index.js"),qt=require("./utils/holo-flow/signal-countdown-panel.vue.js"),Vt=require("./utils/map-initializer.js"),z=require("./utils/open-drive-renderer/index.js"),E=require("./utils/overlay.js"),_t=require("./utils/police-jurisdiction.js"),It=require("./utils/queue-length.js"),G=require("./utils/road-config-tool/index.js"),Mt=require("./utils/signal-control-area/edit-area.js"),V=require("./utils/signal-control-area/signal-area-controller.js"),xt=require("./utils/signal-control-area/signal-cross-controller.js"),H=require("./utils/signal-system/signal-system-controller.js"),Pt=require("./utils/traffic-flow.js"),Nt={class:"gis-viewer"},zt={style:{position:"absolute",bottom:"80px",left:"10px","z-index":"9999"}},Et=o.defineComponent({__name:"gis-map",props:{config:{},assetsRoot:{}},emits:["mapLoaded","markerClick","mapClick","update:zoom"],setup(W,{expose:Z,emit:j}){const O=o.ref(null);let n,g,c,i,r,s,y,t,u,a,S,p,h,k,w,f;const A=o.ref(!1);q.registerStore();const _=q.default.useAppDataStore,I=o.reactive([]),M=e=>Math.log2(591657527591555e-6/e);let v=null,x=null;const D=e=>{if(!Number.isFinite(e))return;const m=Math.round(e);m!==x&&(x=m,C("update:zoom",m))};Lt.default(),o.onMounted(async()=>{if(!O.value)return;document.addEventListener("keydown",d=>{d.ctrlKey&&d.key==="i"&&(A.value=!A.value)});const e=o.getCurrentInstance(),{$gisviewerAssetsRoot:m}=e.appContext.config.globalProperties,l=await(await fetch(P.config)).json();l.assetsRoot=P.assetsRoot||m,_.mapConfig=l,g=new Vt.default,_.mapInitializer=g,n=await g.initialize({container:O.value,mapConfig:l,markerClickCallback:(d,T,B,At)=>{C("markerClick",d,T,B,At)},mapClickCallback:(d,T,B)=>{C("mapClick",d,T,B)}});const b=n.zoom??(n.scale?M(n.scale):void 0);typeof b=="number"&&D(b);const kt=n.zoom!==void 0?n.watch("zoom",d=>{D(d)}):n.watch("scale",d=>{typeof d=="number"&&d>0&&D(M(d))});v=()=>kt.remove(),r=new Bt.default(n,I),await r.init(),C("mapLoaded")}),o.onUnmounted(()=>{a==null||a.clearSignalControlArea(),t==null||t.clearOpenDrive(),r.clearHoloTrace(),r.clearHoloSignal(),i==null||i.disconnectTrafficFlow(),v==null||v(),v=null});const J=o.computed(()=>n),Q=()=>{const e=q.default.useAppDataStore;e.saveTrackLog=!0},U=()=>{r.downloadTrackLog()},F=()=>{L("vehicleId")},K=()=>{L("plateNumber")},X=async e=>await g.setMapCenter(e),Y=async e=>await g.setMapCamera(e),R=e=>g.setMapZoom(e),$=async e=>await g.lookAt(e),ee=e=>g.setLayerVisibility(e),te=(e,m)=>g.requestCoordinateTransform(e,m),ne=e=>{g.cancelCoordinateTransform(e)},ae=e=>{g.setMapZoomRange(e)},se=e=>(c||(c=new G.default(n)),c.showLaneNumber(e)),re=()=>{c==null||c.clearLaneNumber()},oe=async e=>(c||(c=new G.default(n)),await c.initializeSearch(e)),ie=async()=>c==null?void 0:c.calCrossIndicatorArea(),le=async()=>{},ce=async(e,m)=>{i||(i=new Pt.default(n)),i.connectTrafficFlow(e,m)},ue=()=>{i==null||i.disconnectTrafficFlow()},me=async e=>{r.handleVehicleTraceData(e)},de=()=>{r.clearHoloTrace()},ge=e=>{r.setInterpolate(e)},pe=async e=>{await r.handleSignalData(e)},fe=async e=>{await r.initializeLampGroup(e)},Se=e=>{r.handleUniSignalData(e)},ye=()=>{r.clearHoloSignal()},we=e=>{i==null||i.toggleTrafficInfo(e),r==null||r.toggleTrafficInfo(e)},he=e=>{r==null||r.togglePause(e)},ve=e=>{i==null||i.toggleTrafficObject(e),r==null||r.toggleTrafficObject(e)},L=e=>{r==null||r.updatePanelContent(e)},Ce=async e=>(s||(s=new E.default(n)),s.addOverlays(e)),be=async e=>s?await s.flashOverlay(e):{status:-1,message:"未加载覆盖物工具"},Oe=async e=>s?s.stopFlash(e):{status:-1,message:"未加载覆盖物工具"},ke=async e=>(w||(w=new Dt.default(n)),w.addClusterPoints(e)),Ae=()=>{w==null||w.removeAllClusterPoints()},De=e=>(s||(s=new E.default(n)),s.addMask(e)),Le=()=>{s==null||s.removeMask()},Te=e=>s==null?void 0:s.removeOverlaysByType(e),Be=e=>s==null?void 0:s.removeOverlaysById(e),qe=()=>s==null?void 0:s.removeAllOverlays(),Ve=()=>{s==null||s.showAllOverlays()},_e=e=>{y||(y=new It.default(n)),y.updateQueueLength(e)},Ie=()=>{y==null||y.removeQueueLength()},Me=async(e,m)=>(t||(t=new z.default(n)),await t.showOpenDriveFromServer(e,m)),xe=async e=>(t||(t=new z.default(n)),await t.clearOpenDrive(),await t.showOpenDriveFromFile(e)),Pe=e=>t?t.setOpendriveVisibility(e):{status:-1,message:"未加载OpenDrive地图"},Ne=async()=>await(t==null?void 0:t.clearOpenDrive()),ze=async e=>t?await(t==null?void 0:t.findSumo(e)):{status:-1,message:"未加载OpenDrive地图"},Ee=async e=>t?t.selectSumo(e):{status:-1,message:"未加载OpenDrive地图"},Ge=async e=>t?t.unselectSumo(e):{status:-1,message:"未加载OpenDrive地图"},He=async e=>t?t.selectComputable(e):{status:-1,message:"未加载OpenDrive地图"},We=async e=>t?await t.geometrySearch(e):{status:-1,message:"未加载OpenDrive地图"},Ze=async e=>t?await t.getSumoInfo(e):{status:-1,message:"未加载OpenDrive地图"},je=async e=>t?await(t==null?void 0:t.splitLane(e)):{status:-1,message:"未加载OpenDrive地图"},Je=async()=>t?t==null?void 0:t.clearSplitLane():{status:-1,message:"未加载OpenDrive地图"},Qe=async e=>t?t==null?void 0:t.blockLane(e):{status:-1,message:"未加载OpenDrive地图"},Ue=e=>t?t==null?void 0:t.clearBlockLane(e):{status:-1,message:"未加载OpenDrive地图"},Fe=async e=>(a||(a=new V.default(n)),await a.showSignalControlArea(e)),Ke=async e=>(a||(a=new V.default(n)),await a.showDistrict(e)),Xe=async e=>(a||(a=new V.default(n)),await a.showSubDistrict(e)),Ye=async()=>await(a==null?void 0:a.clearSignalControlArea()),Re=e=>a==null?void 0:a.setLayerVisibility(e),$e=async e=>a?await(a==null?void 0:a.locateSignalControlArea(e)):{status:-1,message:"未加载信号控制区"},et=async e=>a?await a.highlightSignalControlArea(e):{status:-1,message:"未加载信号控制区"},tt=()=>a?a.resetHighlight():{status:-1,message:"未加载信号控制区"},nt=e=>(u||(u=new Mt.default(n)),u.showSubSignalControlArea(e)),at=e=>u?u.editSubSignalControlArea(e):{status:-1,message:"未加载信号控制区"},st=()=>u?u.stopEditSubSignalControlArea():{status:-1,message:"未加载信号控制区"},rt=e=>u?u.selectSubSignalControlAreaCross(e):{status:-1,message:"未加载信号控制区"},ot=e=>u?u.unselectSubSignalControlAreaCross(e):{status:-1,message:"未加载信号控制区"},it=e=>{if(!u)return{status:-1,message:"未加载信号控制区"}},lt=e=>(S||(S=new xt.default(n)),S.showSignalCross(e)),ct=()=>S?S.clearSignalCross():{status:-1,message:"未加载信号路口"},ut=e=>S?S.changeShowName(e):{status:-1,message:"未加载信号路口"},mt=e=>(f||(f=new H.default(n)),f.showSignalSystems(e)),dt=e=>(f||(f=new H.default(n)),f.showSubSignalSystems(e)),gt=e=>f?f.removeSubSignalSystems(e):{status:-1,message:"未加载信号系统"},pt=e=>f?f.removeSignalSystems(e):{status:-1,message:"未加载信号系统"},ft=e=>({status:-1,message:"未实现该功能"}),St=()=>({status:-1,message:"未实现该功能"}),yt=e=>(p||(p=new N.default(n)),p.addGreenWaveBand(e)),wt=()=>{if(!p)return{status:-1,message:"未加载绿波带"};p.stopAddGreenWaveBand()},ht=async e=>(p||(p=new N.default(n)),await p.showGreenWaveBand(e)),vt=e=>{if(!p)return{status:-1,message:"未加载绿波带"};p.removeGreenWaveBand(e)},Ct=async e=>(h||(h=new _t.default(n)),await h.showJurisdiction(e)),bt=()=>{if(!h)return{status:-1,message:"未加载警务管辖区"};h.clearJurisdiction()},Ot=async e=>(k||(k=new Tt.default(n)),await k.setEdpassLayerVisibility(e)),P=W,C=j;return Z({mapViewer:J,setLayerVisibility:ee,setMapCenter:X,lookAt:$,setMapCamera:Y,setMapZoom:R,setMapZoomRange:ae,requestCoordinateTransform:te,cancelCoordinateTransform:ne,addOverlays:Ce,flashOverlay:be,stopFlashOverlay:Oe,addClusterPoints:ke,removeAllClusterPoints:Ae,addMask:De,removeMask:Le,showAllOverlays:Ve,removeOverlaysByType:Te,removeOverlaysById:Be,removeAllOverlays:qe,showLaneNumber:se,clearLaneNumber:re,initializeAreaTool:oe,calCrossIndicatorArea:ie,calRoadIndicatorArea:le,connectCarFlow:ce,disconnectCarFlow:ue,handleHoloVehicleTraceData:me,clearHoloTrace:de,initializeLampGroup:fe,handleUniSignalData:Se,handleHoloSignalData:pe,clearHoloSignal:ye,setInterpolate:ge,toggleTrafficInfo:we,toggleTrafficObject:ve,toggleVehicleInfo:L,togglePause:he,updateQueueLength:_e,removeQueueLength:Ie,showOpenDriveFromServer:Me,showOpenDriveFromFile:xe,clearOpenDrive:Ne,setOpendriveVisibility:Pe,geometrySearchInOpenDrive:We,findSumoInOpenDrive:ze,selectSumoInOpenDrive:Ee,unselectSumoInOpenDrive:Ge,selectComputableInOpenDrive:He,getSumoInfo:Ze,splitOpenDriveLane:je,clearSplitOpenDriveLane:Je,blockOpenDriveLane:Qe,clearBlockOpenDriveLane:Ue,showSignalControlArea:Fe,showDistrictArea:Ke,showSubDistrictArea:Xe,clearSignalControlArea:Ye,setSignalControlAreaVisibility:Re,locateSignalControlArea:$e,highlightSignalControlArea:et,resetHighlightSignalControlArea:tt,showSubSignalControlArea:nt,editSubSignalControlArea:at,stopEditSubSignalControlArea:st,selectSubSignalControlAreaCross:rt,unselectSubSignalControlAreaCross:ot,changeSubSignalControlAreaBorderVisibility:it,showSignalCross:lt,clearSignalCross:ct,changeSignalCrossShowName:ut,showSignalSystem:mt,showSubSignalSystem:dt,removeSubSignalSystem:gt,removeSignalSystem:pt,highlightSignalSystem:ft,resetHighlightSignalSystem:St,addGreenWaveBand:yt,stopAddGreenWaveBand:wt,showGreenWaveBand:ht,removeGreenWaveBand:vt,showPoliceArea:Ct,clearPoliceArea:bt,setEdpassLayerVisibility:Ot}),(e,m)=>(o.openBlock(),o.createElementBlock("div",Nt,[o.createElementVNode("div",{class:"gis-viewer-main",ref_key:"mapContainer",ref:O},[o.withDirectives(o.createElementVNode("div",zt,[o.createElementVNode("button",{style:{"margin-right":"10px"},onClick:Q}," 开始记录 "),o.createElementVNode("button",{style:{"margin-right":"10px"},onClick:U}," 下载日志 "),o.createElementVNode("button",{style:{"margin-right":"10px"},onClick:F}," 显示车辆id "),o.createElementVNode("button",{onClick:K},"显示车辆号牌")],512),[[o.vShow,A.value]])],512),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(I,(l,b)=>(o.openBlock(),o.createBlock(qt.default,{key:b,"display-mode":l.displayMode,flash:l.flash,"road-id":l.crossId,"cross-id":l.roadId,"map-point":l.mapPoint,"stop-line":l.stopLine,position:l.position,rotation:l.rotation,scale:l.scale,"lamp-status":l.lampStatus},null,8,["display-mode","flash","road-id","cross-id","map-point","stop-line","position","rotation","scale","lamp-status"]))),128))]))}});exports.default=Et;