/* global Reflect, Promise, SuppressedError, Symbol */function r(t,i,s,e){var h,r=arguments.length,n=r<3?i:null===e?e=Object.getOwnPropertyDescriptor(i,s):e;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,i,s,e);else for(var o=t.length-1;o>=0;o--)(h=t[o])&&(n=(r<3?h(n):r>3?h(i,s,n):h(i,s))||n);return r>3&&n&&Object.defineProperty(i,s,n),n}function n(t){const i=new Map;return class extends t{constructor(...s){const e=i.get(t);if(e)return e;const h=super(...s);return i.set(t,h),h}}}"function"==typeof SuppressedError&&SuppressedError;let o=class{constructor(t){this.animationId=null,this.isAnimating=!0,this.AFFMap={},this.timestamp=0,this.rAFLoop=t=>{this.animationId=requestAnimationFrame(this.rAFLoop);let i=t-this.timestamp;if(this.timestamp=t,this.frameFn&&this.frameFn(),this.isAnimating)for(const t in this.AFFMap)this.AFFMap[t](i)},this.frameFn=t,this.rAFLoop(0)}setFrameFn(t){this.frameFn=t}addAnimationFrameFunc(t,i){this.AFFMap[t]=i,i(0)}removeAnimationFrameFunc(t){delete this.AFFMap[t]}destroyed(){this.animationId&&cancelAnimationFrame(this.animationId)}start(){this.isAnimating||(this.isAnimating=!0)}pause(){this.isAnimating&&(this.isAnimating=!1)}resume(){this.isAnimating||(this.isAnimating=!0)}stop(){this.pause()}};o=r([n],o);var a=o;function l(t,i){return Math.sqrt(Math.pow(i[0]-t[0],2)+Math.pow(i[1]-t[1],2))}function u(t,i){let[s,e]=t,[h,r]=i;const n=h-s,o=r-e,a=Math.sqrt(n*n+o*o);if(0===a)return 0;const l=n/a,u=o/a;let c=Math.atan2(u,l)*(180/Math.PI);return c=90-c,c<0&&(c+=360),c}function c(t,i,s){let[e,h]=t,[r,n]=i,[o,a]=s,l=o-r,u=a-n,c=((e-r)*l+(h-n)*u)/(l*l+u*u);return c=Math.max(0,Math.min(1,c)),[r+c*l,n+c*u]}function d(t,i){const s=t.toLowerCase();for(const t of i)if(s.includes(t))return!0;return!1}function p(){var t=(new Date).getTime();return"xxxyxxxy".replace(/[xy]/g,(function(i){var s=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"==i?s:3&s|8).toString(16)}))}const v=(t,i,s,e,h)=>{const r=3*(i.x-t.x),n=3*(s.x-i.x)-r,o=e.x-t.x-r-n,a=3*(i.y-t.y),l=3*(s.y-i.y)-a,u=e.y-t.y-a-l;return{x:((o*h+n)*h+r)*h+t.x,y:((u*h+l)*h+a)*h+t.y}};function f(t){return t<=0?-t:360-t}function m(t){let i=t%360;return Math.abs(i)>180&&(i%=180,i>0?i-=180:i+=180),i}function g(t,i){return i=m(i),t=m(t),m(t-i)}function M(t,i=10){const s=t.toFixed(i);return parseFloat(s)}let x=class extends h{constructor(){super()}getMap(){return this.map}getMapPixelDistance(t,i){if(!this.map)return 0;const s=this.map.pointToPixel(t),e=this.map.pointToPixel(i);return Math.sqrt(Math.pow(s.x-e.x,2)+Math.pow(s.y-e.y,2))}getLinearPoints(t,i,s){if(!this.map||s<1)return[];let e=this.map.lnglatToMercator(t.lng,t.lat),h=this.map.lnglatToMercator(i.lng,i.lat);const r=(h[0]-e[0])/s,n=(h[1]-e[1])/s,o=[];for(let t=1;t<=s;t++){const i=e[0]+t*r,s=e[1]+t*n;let h=this.map.mercatorToLnglat(i,s);o.push(new BMapGL.Point(h[0],h[1]))}return o.push(i),o}getLinearAngles(t,i,s){let e=i/s,h=[];for(let i=1;i<=s;i++){const s=m(t+i*e);h.push(s)}return h}lnglatToMercator(t){return this.map?this.map.lnglatToMercator(t.lng,t.lat):null}drawOnce(){var t;null===(t=this.map)||void 0===t||t._drawFrame()}setMap(t){this.map=t,this.fire("mapReady",{map:t}),t.on("click",(i=>{this.fire("click",{e:i,map:t})})),t.on("movestart",(i=>{this.fire("movestart",{e:i,map:t})})),t.on("moveend",(i=>{this.fire("moveend",{e:i,map:t})})),t.on("zoomstart",(i=>{this.fire("zoomstart",{e:i,map:t})})),t.on("zoomend",(i=>{this.fire("zoomend",{e:i,map:t})})),t.on("onmapstatusidle_inner",(i=>{this.fire("onmapstatusidle_inner",{e:i,map:t})})),t.on("zoom_changed",(i=>{this.fire("zoom_changed",{e:i,map:t})})),t.on("moving",(i=>{this.fire("moving",{e:i,map:t})}))}};x=r([n],x);const y=new x;var w,k,L,P,T,_;t.StatusCodes=void 0,(w=t.StatusCodes||(t.StatusCodes={}))[w.INIT=0]="INIT",w[w.PLAY=1]="PLAY",w[w.PAUSE=2]="PAUSE",w[w.STOP=3]="STOP",w[w.FINISH=4]="FINISH",t.MapCodes=void 0,(k=t.MapCodes||(t.MapCodes={})).ADD_TO_MAP="addtomap",k.REMOVE_FROM_MAP="removefrommap",k.CLICK="click",k.MOUSE_OVER="mouseover",k.MOUSE_OUT="mouseout",t.LineCodes=void 0,(L=t.LineCodes||(t.LineCodes={})).STATUS="status",L.PROCESS="process",L.GUIDE_STATUS="guideChange",t.PointCodes=void 0,(P=t.PointCodes||(t.PointCodes={})).SET_TRACK_POINT="moveTo",P.CHANGE_POINT="pointChange",P.CHANGE_ROTATION="rotationChange",t.GuidCodes=void 0,(T=t.GuidCodes||(t.GuidCodes={})).ADD_TO_MAP="added",T.REMOVE_FROM_MAP="removed",T.IDLE="idle",t.ViewCodes=void 0,(_=t.ViewCodes||(t.ViewCodes={})).UPDATE_FEATURE="updateFeature",_.UPDATE_RENDER="updateRender",_.UPDATE_TRACK_POINT="trackPointChange";class b extends h{constructor(t,i){var s;super(),this.type="roadLine",this.h=[],this.o=[],this.trace=0,this.l=!1,this.duration=0,this.properties={},this.u=0,this.p=!1,this.v=!0,this.type=t,this.style=i.style||{},this.linearTexture=i.linearTexture||[],this.o=i.gradientColor||[],this.rank=i.rank||0,this.v=null===(s=i.visible)||void 0===s||s,this.properties=i.properties||{},this.m()}get visible(){return this.v}set visible(t){this.v=t,this.M()}setMovePoint(t){let i=y.getMap();this.k&&(i?this.k.removeFromMap(i):this.k.isDestroyed=!0),this.k=t,this.k.isDestroyed=!1,i?t.addToMap(i,!(!this.duration||"livetrack"!==this.type)):y.on("mapReady",(()=>{!this.k.isDestroyed&&t.addToMap(y.getMap(),!(!this.duration||"livetrack"!==this.type))}))}addTrackPoint(t,i){this.h.push(t),i?this.L(t.getPoint()):this.P(t.getPoint())}getTrackPoints(){return this.h}getPoints(){return this.h.map((t=>t.getPoint()))}getBBox(){return this.h.length?this.h.reduce(((t,i)=>{let s=t[0],e=t[1],h=t[2],r=t[3];return s>i.getPoint().lng&&(s=i.getPoint().lng),e>i.getPoint().lat&&(e=i.getPoint().lat),h<i.getPoint().lng&&(h=i.getPoint().lng),r<i.getPoint().lat&&(r=i.getPoint().lat),[s,e,h,r]}),[180,90,-180,-90]):null}getDistance(){let t=0;for(let i=0;i<this.h.length-1;i++){let s=this.h[i],e=this.h[i+1],h=s.getPointMC(),r=e.getPointMC();t+=l([h.lng,h.lat],[r.lng,r.lat])}return t}P(t){this.T.geometry.coordinates.push([t.lng,t.lat]),this.M(t)}L(t){let i=this.T.geometry;i.coordinates[i.coordinates.length-1]=[t.lng,t.lat],this.M(t)}_(){let t=this.T.geometry;t.coordinates=[];for(let i of this.h)t.coordinates.push([i.getPoint().lng,i.getPoint().lat]);this.owner&&this.M()}clearTrackPoint(){this.h=[],this.T.geometry.coordinates=[],this.M()}m(){let t={type:"Feature",geometry:{type:"LineString",coordinates:[]},properties:this.properties};this.T=this.C(t)}M(i){var s;"livetrack"===this.type&&this.G(i),null===(s=this.owner)||void 0===s||s.dispatchEvent(t.ViewCodes.UPDATE_FEATURE,{uuid:this.uuid,styleCode:this.B,F:this.F})}A(){var i;null===(i=this.owner)||void 0===i||i.dispatchEvent(t.ViewCodes.UPDATE_RENDER,{uuid:this.uuid,styleCode:this.B,F:this.F})}O(i,s){var e;null===(e=this.owner)||void 0===e||e.dispatchEvent(t.ViewCodes.UPDATE_TRACK_POINT,{uuid:this.uuid,point:i,angle:this.p?void 0:s,timeSpan:this.duration?0:1})}D(t){this.owner=t}S(){}setProperty(t){this.properties=t,this.T.properties=Object.assign(this.properties,{uuid:this.uuid}),this._()}getProperty(){return this.properties}setGradientColors(t){this.o=t,this.M()}setGradientColor(t){this.o.push(t),this.M()}getGradientColors(){return this.o}C(t){let i=p();return this.uuid=i,t.properties?t.properties.uuid=i:t.properties={uuid:i},t}getFeature(){return this.T}getRotation(t,i){var s,e;let h=0;if(this.h.length>=0&&this.h.length>=t+1){let r=this.h[t];if(void 0!==r.getRotation()&&void 0===i)h=r.getRotation();else if(i){let t=r.getPointMCArray(),e=i.getPointMCArray();h=t[0]===e[0]&&t[1]===e[1]?null!==(s=r.getRotation())&&void 0!==s?s:0:u(t,e)}else if(t-1>=0){let i=this.h[t-1],s=i.getPointMCArray(),n=r.getPointMCArray();h=s[0]===n[0]&&s[1]===n[1]?null!==(e=i.getRotation())&&void 0!==e?e:0:u(s,n)}}return h}getUUID(){return this.uuid}}class C extends b{constructor(i){var s;(i=i||{}).rank=null!==(s=i.rank)&&void 0!==s?s:1,super("localtrack",i),this.elapsed=0,this.isAnimating=!1,this.distance=-1,this.j=[],this.I=t.StatusCodes.INIT,this.R=0,this.h=i.trackPath||[],this.speedMode=i.speedMode||1,this.duration=i.duration||60,this.l=!0,this._(),this.initAnimation(),this.N=this.N.bind(this),this.U=this.V.bind(this)()}set status(i){this.I=i,this.fire(t.LineCodes.STATUS,this.I)}get status(){return this.I}set process(i){this.R=i,this.fire(t.LineCodes.PROCESS,this.R)}get process(){return this.R}initAnimation(){for(let t=0;t<this.h.length-1;t++){let i=this.h[t],s=this.h[t+1];i.timeStamp&&s.timeStamp||(this.speedMode=0)}this.distance=this.getDistance();let t=this.h[0],i=this.h[this.h.length-1];this.animationVelocity=this.distance/this.duration,t.timeStamp&&i.timeStamp&&(this.realTime=i.timeStamp-t.timeStamp,this.realVelocity=this.distance/this.realTime);for(let t=0;t<this.h.length-1;t++){let i=this.h[t],s=this.h[t+1],e=i.getPointMC(),h=s.getPointMC(),r=l([e.lng,e.lat],[h.lng,h.lat]),n=0;if(n=0!==r||0===t?u([e.lng,e.lat],[h.lng,h.lat]):this.j[this.j.length-1].angle,this.speedMode&&i.timeStamp&&s.timeStamp){let e=s.timeStamp-i.timeStamp,h=r/e,o=e/this.realTime*this.duration,a=r/o;this.j[t]={distance:r,realTime:e,realVelocity:h,duration:o,animationVelocity:a,angle:n}}else{let i=r/this.distance*this.duration,s=this.distance/this.duration;this.j[t]={distance:r,duration:i,animationVelocity:s,angle:n}}}}N(i){if(this.isAnimating){const s=i/1e3+this.elapsed,e=Math.min(s/this.duration,1);this.elapsed=s,this.process=e,e<1?this.q(s):(this.trace<this.distance&&this.q(this.duration),this.isAnimating=!1,this.process=1,this.status!==t.StatusCodes.FINISH&&this.H(this.trace+100),setTimeout((()=>{this.status=t.StatusCodes.FINISH}),600))}}startAnimation(){this.isAnimating||(this.isAnimating=!0,this.status=t.StatusCodes.PLAY)}pauseAnimation(){this.isAnimating&&(this.isAnimating=!1,this.status=t.StatusCodes.PAUSE)}resumeAnimation(){this.isAnimating||(this.isAnimating=!0,this.status=t.StatusCodes.PLAY)}stopAnimation(){this.q(0),this.pauseAnimation(),this.elapsed=0,this.status=t.StatusCodes.STOP}q(t){var i,s,e;let h=this.U(null!=t?t:this.elapsed);if(h){this.H(h.trace);let t=BMapGL.Projection.convertMC2LL(new BMapGL.Point(h.point[0],h.point[1]));(null===(i=this.owner)||void 0===i?void 0:i.W)===this.uuid&&this.O(t,h.linearAngle),null===(s=this.k)||void 0===s||s.setPoint(t),null===(e=this.k)||void 0===e||e.setRotation(h.angle)}}H(i){this.trace=i,this.A(),this.isAnimating||(i>=this.distance?setTimeout((()=>{this.status=t.StatusCodes.FINISH}),600):this.status=0===i?t.StatusCodes.INIT:t.StatusCodes.PLAY,this.process=Math.max(Math.round(i/this.distance*100)/100,1))}Z(t,i){let s=0;for(let i=0;i<t;i++)s+=this.j[i].distance;this.H(s+i)}resetTrackPath(t){let i=this.isAnimating;i?this.stopAnimation():this.elapsed=0,t&&(this.h=t,this._(),this.initAnimation()),this.q(0),i&&this.startAnimation()}setElapsed(t){this.elapsed=t,this.q(this.elapsed)}setProcess(t){t=Math.min(Math.max(t,0),1),this.setElapsed(t*this.duration)}getInfoByProcess(t){let i=(t=Math.min(Math.max(t,0),1))*this.duration,s=this.J(i);return s?{point:BMapGL.Projection.convertMC2LL(new BMapGL.Point(s.point[0],s.point[1])),trace:s.trace,elapsed:s.time,angle:s.angle}:null}setMovePoint(t){super.setMovePoint(t),this.h.length>0&&isNaN(this.k.getRotation())&&(this.k.setPoint(this.h[0].getPoint()),this.k.setRotation(this.getStepInfoByIndex(0).angle))}getStepInfoByIndex(t){return this.j[t]}V(){let t=0,i=0,s=0;return e=>{e<t&&(t=0,i=0,s=0);let h=this.J(e,s,t,i);return h&&(t=h.time,i=h.distance,s=h.index),h}}J(t,i=0,s=0,e=0){let h=s,r=e;for(let s=i;s<this.h.length-1;s++){let i=this.j[s].duration;if(h<=t&&t<=M(h+i)){let e=t-h,n=this.h[s].getPointMC(),o=this.j[s],a=o.animationVelocity*e,l=a*Math.sin(o.angle/180*Math.PI),u=a*Math.cos(o.angle/180*Math.PI),c=[n.lng+l,n.lat+u],d=m(o.angle);if(s-1>=0){let t=this.j[s-1].angle;this.p&&(t=f(y.getMap().getHeading())+this.owner.getCruiseOptions().cruiseLookAt);let h=g(o.angle,t);Math.abs(h)>=this.owner.getCruiseOptions().minRotation?(this.p=!1,d=m(t+h*(e/i))):(this.p=!0,d=t)}return{index:s,time:h,point:c,trace:r+a,angle:o.angle,linearAngle:d,distance:r}}h+=i,r+=this.j[s].distance}return null}matchTrackPoint(t,i){let s=1/0;if(this.h.length<2)return{index:0,matchPoint:null,matchDist:s,segmentDist:0};let e=this.h[0].getPointMCArray(),h=-1;for(let r=t;r<this.h.length-1;r++){let t=c(i,this.h[r].getPointMCArray(),this.h[r+1].getPointMCArray()),n=l(t,i);n<s&&(s=n,e=t,h=r)}return{index:h,matchPoint:e,matchDist:s,segmentDist:l(e,this.h[h].getPointMCArray())}}}class G{constructor(t,i){this.Y=t,this.X=i,this.K()}K(){var t,i;this.rotation=null===(t=this.X)||void 0===t?void 0:t.rotation,this.timeStamp=null===(i=this.X)||void 0===i?void 0:i.timeStamp}getPoint(){return this.Y}setPoint(t){this.Y=t}getPointMC(){return BMapGL.Projection.convertLL2MC(this.Y)}getPointMCArray(){let t=BMapGL.Projection.convertLL2MC(this.Y);return[t.lng,t.lat]}getRotation(){return this.rotation}setRotation(t){this.rotation=t}getTimeStamp(){return this.timeStamp}getOptions(t){return t?this.X[t]:this.X}serialize(){return{type:"TrackPoint",point:{lat:this.getPoint().lat,lng:this.getPoint().lng},options:Object.assign({},this.X)}}static deserialize(t){if("TrackPoint"===t.type){let i=new BMapGL.Point(t.point.lng,t.point.lat),s=t.options;return new G(i,s)}}clone(){return new G(new BMapGL.Point(this.Y.lng,this.Y.lat),Object.assign({},this.X))}}class B extends b{constructor(i){var s;(i=i||{}).rank=null!==(s=i.rank)&&void 0!==s?s:2,super("livetrack",i),this.$=[],this.tt=null,this.it=!0,this.st=t.GuidCodes.IDLE,this.guidStyle=i.guideStyle||{},this.guidProperty=i.guidProperty||{},this.minMatchDist=i.minMatchDist||10,this.duration=i.duration||0,this.duration&&(this.l=!0),this.N=this.N.bind(this)}get guidTrackStatus(){return this.st}set guidTrackStatus(i){this.st=i,this.dispatchEvent(t.LineCodes.GUIDE_STATUS,{status:this.st})}D(i){super.D(i),this.guidTrackStatus===t.GuidCodes.IDLE&&this.guidTrack&&(this.owner.addTrackLine(this.guidTrack),this.guidTrackStatus=t.GuidCodes.ADD_TO_MAP)}S(){var i;this.guidTrackStatus===t.GuidCodes.ADD_TO_MAP&&(null===(i=this.owner)||void 0===i||i.removeTrackLine(this.guidTrack),this.guidTrackStatus=t.GuidCodes.REMOVE_FROM_MAP),super.S()}setGuidTrackPath(i){this.guidTrack?this.guidTrack.resetTrackPath(i):(this.guidTrack=new C({trackPath:i,linearTexture:this.guidStyle.linearTexture,style:this.guidStyle.style,gradientColor:this.guidStyle.gradientColor,properties:this.guidProperty}),this.owner&&(this.owner.addTrackLine(this.guidTrack),this.guidTrackStatus=t.GuidCodes.ADD_TO_MAP)),this.guidIndex=0}getGuidTrack(){return this.guidTrack}clearTrackPoint(){var t;super.clearTrackPoint(),this.guidIndex=0,null===(t=this.guidTrack)||void 0===t||t.resetTrackPath()}N(t){if((new Date).getTime(),this.$.length){if(1===this.$.length&&this.tt)return this.addTrackPoint(this.tt,!0),this.et(this.tt),this.$.length=0,void(this.tt=null);this.it?(this.P(this.$[0]),this.it=!1):this.L(this.$[0]),this.k.setPoint(this.$[0]),this.ht(this.$[0]),this.$.shift()}}G(t){if(this.guidTrack){if(!t)return;let i=y.lnglatToMercator(t);if(!i)return;let{index:s,matchPoint:e,matchDist:h,segmentDist:r}=this.guidTrack.matchTrackPoint(this.guidIndex,i);e&&h<=this.minMatchDist&&(this.guidIndex=s,this.guidTrack.Z(s,r))}}setMovePoint(i){super.setMovePoint(i),this.k.addEventListener(t.PointCodes.SET_TRACK_POINT,(t=>{let i=t.trackPoint,s=null,e=0,h=0;if(this.$.length&&this.tt&&(this.addTrackPoint(this.tt,!this.it),this.et(this.tt),s=this.$[0],this.$.length=0,this.tt=null),this.h.length&&this.duration&&!t.emit&&this.owner){let t=[];if(s?(t=y.getLinearPoints(s,i.getPoint(),this.duration/16.6),e=s.rotation):(s=this.h[this.h.length-1],t=y.getLinearPoints(s.getPoint(),i.getPoint(),this.duration/16.6),e=m(this.getRotation(this.getTrackPoints().length-1))),t&&t.length>=this.owner.getCruiseOptions().minRotation){this.p&&(e=f(y.getMap().getHeading())+this.owner.getCruiseOptions().cruiseLookAt),h=m(this.getRotation(this.getTrackPoints().length-1,i));let s=g(h,e);if(Math.abs(s)>=5){this.p=!1;let i=y.getLinearAngles(e,s,t.length);t.forEach(((t,s)=>{t.rotation=i[s]}))}else this.p=!0,t.forEach(((t,i)=>{t.rotation=e}));this.$=t,this.tt=i.clone(),this.it=!0}else this.addTrackPoint(i),this.et(i)}else this.addTrackPoint(i),this.et(i,t.emit)}))}et(t,i){var s;this.k&&(this.k.setPoint(t.getPoint()),void 0!==t.getRotation()&&(null===(s=this.k)||void 0===s||s.setRotation(t.getRotation())),i||(1===this.getPoints().length&&void 0!==this.k.getRotation()&&t.setRotation(this.k.getRotation()),this.ht(t)))}ht(t){var i,s,e;let h=t instanceof G?t.getPoint():t;if(t instanceof BMapGL.Point&&void 0!==t.rotation)return null===(i=this.k)||void 0===i||i.setRotation(function(t){let i=t%360;return t<0&&(i+=360),i}(t.rotation)),void this.O(h,t.rotation);if(t instanceof G&&void 0!==t.getRotation())this.O(h,m(t.getRotation()));else{if(this.h.length){let i=t instanceof G?this.h.length-2:this.h.length-1,r=this.h[i<0?0:i],n=y.lnglatToMercator(h);if(n){let i=r.getPointMCArray(),o=0;return i[0]===n[0]&&i[1]===n[1]?void(o=null!==(s=r.getRotation())&&void 0!==s?s:0):(o=u(r.getPointMCArray(),n),this.O(h,m(Math.round(o))),void(t instanceof G&&void 0===t.getRotation()&&(t.setRotation(Math.round(o)),null===(e=this.k)||void 0===e||e.setRotation(o))))}}this.O(h)}}}class F extends h{constructor(t,i,s){super(),this.rt=new Map,this.nt=new Map,this.ot=new Map,this.lt=20,this.ut=10,this.ct=100,this.dt=t,this.vt=i,this.X=s||{},this.X.enablePicked=!0}ft(t){let i,s=this.gt(t);if(t.B=s,t instanceof B)if(this.nt.has(s)){let e=this.nt.get(s);i=this.ot.get(e),i.Mt=i.Mt||[],i.Mt.push(t.uuid),t.F=e;let h=this.xt(t,i.style_opt);i.setStyleOptions(h),i.resolveStyle()}else{let e=p();i=this.yt(t,!1),t.F=e,this.nt.set(s,e),this.ot.set(e,i)}else if(this.rt.has(s)){let e=this.rt.get(s),h=!1;for(let s=0;s<e.length;s++){const r=e[s],n=this.ot.get(r);if(n.Mt.length<this.lt){n.Mt.push(t.uuid),i=n,h=!0,t.F=r;let s=this.xt(t,i.style_opt);i.setStyleOptions(s),i.resolveStyle();break}}if(!h){let s=p();i=this.yt(t,!0),e.push(s),t.F=s,this.ot.set(s,i)}}else{let e=p();i=this.yt(t,!0),this.rt.set(s,[e]),this.ot.set(e,i),t.F=e}i instanceof BMapGL.LineLayer&&this.wt(i)}kt(t){let i=t.F,s=this.ot.get(i);if(s){let e=s.Mt.indexOf(t.uuid);if(e>-1){if(s.Mt.splice(e,1),0===s.Mt.length&&t instanceof C){this.dt.removeNormalLayer(s),this.ot.delete(i);let e=this.rt.get(t.B)||[];return void e.splice(null==e?void 0:e.indexOf(i),1)}this.wt(s)}}}Lt(t){t||(t=Array.from(this.ot.keys())),t.forEach((t=>{let i=this.ot.get(t);i&&this.wt(i)}))}wt(t){let i=[],s=t.Mt;for(let t=0;t<s.length;t++){const e=s[t];let h=this.vt.get(e);h&&h.visible&&(h.getFeature().rank=h.rank,i.push(h.getFeature()))}let e={type:"FeatureCollection",features:i.sort(((t,i)=>t.rank-i.rank))};t.setData(e)}gt(t){let i=this.X.style||{},s=this.X.linearTexture||t.linearTexture,e=t.style.traceDisappear||!!i.traceDisappear,h=t.style.traceStart||!!i.traceStart,r={linear:s,traceColor:t.style.traceColor||i.traceColor,traceDisappear:e,traceStart:h,sequence:t.style.sequence||!!i.sequence,marginLength:t.style.marginLength||i.marginLength,linksLine:t.style.linksLine||i.linksLine,arrowColor:t.style.arrowColor||i.arrowColor};return function(t){let i=0;for(let s=0;s<t.length;s++)i=(i<<5)-i+t.charCodeAt(s),i|=0;return i}(JSON.stringify(r))}yt(i,s=!1){let e=this.createLineLayerOptions(s,this.X);e.zIndex=s?++this.ut:++this.ct,this.X.crs&&(e.crs=this.X.crs),this.xt(i,e.style),i.linearTexture.length>0&&(e.isLinear=!0,e.linearTexture=i.linearTexture||[[0,"green"],[.5,"blue"],[1,"red"]]),e.isLinear&&(e.style.linksLine=!0),["traceColor","traceDisappear","traceStart","sequence","marginLength","linksLine","arrowColor"].forEach((t=>{void 0!==i.style[t]&&(e.style[t]=i.style[t])}));let h=new BMapGL.LineLayer(e);h.Mt=[i.uuid];let r=this;return h.addEventListener("click",(function(i){if(i.value&&i.value.dataIndex>-1){h.selectedIndex=-1;let s=h.Mt[i.value.dataIndex],e=r.vt.get(s);e&&e.fire(t.MapCodes.CLICK,i)}})),h.addEventListener("mousemove",(function(i){if(i.value&&i.value.dataIndex>-1){let s=h.Mt[i.value.dataIndex],e=r.vt.get(s);for(let[s,h]of r.vt)h!==e&&1===h.u&&(e.fire(t.MapCodes.MOUSE_OUT,i),e.u=0);e&&0===e.u&&(e.fire(t.MapCodes.MOUSE_OVER,i),e.u=1)}if(i.value&&-1===i.value.dataIndex)for(let[s,e]of r.vt)e&&1===e.u&&(e.fire(t.MapCodes.MOUSE_OUT,i),e.u=0)})),this.dt.addNormalLayer(h),h}createLineLayerOptions(t,i){i=i||{};let s=this,e={style:Object.assign(i.style||{},{verticesValueControl:function(t){let i=this.Mt[t];return s.vt.get(i).getGradientColors()},traceControl:t?function(t){let i=[],e=this;return t.forEach((function(t){let h=e.Mt[t],r=s.vt.get(h);r.style.traceDisappear&&!1===r.style.traceStart?i.push(r.trace):i.push(r.trace||-1)})),i}:void 0}),isLinear:!!(i.linearTexture&&i.linearTexture.length>0),linearTexture:void 0,enablePicked:i.enablePicked};return e.isLinear&&(e.linearTexture=i.linearTexture||[[0,"green"],[.5,"blue"],[1,"red"]]),e}xt(t,i){const s=["strokeWeight","borderColor","borderWeight","strokeOpacity","strokeTextureUrl","strokeTextureWidth","strokeTextureHeight","strokeLineJoin","strokeColor","strokeStyle","dashArray"],e={strokeWeight:["match",["get","uuid"],2],borderColor:["match",["get","uuid"],"rgba(27, 142, 236, 1)"],borderWeight:["match",["get","uuid"],0],strokeOpacity:["match",["get","uuid"],1],strokeTextureUrl:["match",["get","uuid"],""],strokeTextureWidth:["match",["get","uuid"],16],strokeTextureHeight:["match",["get","uuid"],16],strokeLineJoin:["match",["get","uuid"],"round"],strokeLineCap:["match",["get","uuid"],"square"],strokeColor:["match",["get","uuid"],"rgba(25, 25, 250, 1)"],strokeStyle:["match",["get","uuid"],"solid"],dashArray:["match",["get","uuid"],[8,4]]},h=["match","get","case","step"];let r,n=t.style,o=t.uuid;for(r of s)if(n.hasOwnProperty(r))if(null==i?void 0:i.hasOwnProperty(r)){let t=i[r],s=JSON.stringify(t);if(d(s,h))i[r]=e[r],i[r].splice(i[r].length-1,0,o,n[r]),i[r][i[r].length-1]=t;else if(s.indexOf("uuid")>-1){let i=t[t.length-1];t[i].splice(t[i].length-1,0,o,n[r])}else{let s=e[r];s.splice(s.length-1,0,o,n[r]),s[s.length-1]=t,i[r]=s}}else{let t=e[r];t.splice(t.length-1,0,o,n[r]),i[r]=t}return i}destroy(){var t;this.vt.clear();for(const i of this.ot.values())null===(t=this.dt)||void 0===t||t.removeNormalLayer(i);this.ot.clear()}}let A=class{constructor(t,i){this.Pt=[{x:0,y:0},{x:0,y:0},{x:1,y:1},{x:1,y:1}],this.Tt={rotationDuration:500,positionDuration:100,delay:0,timingFuntion:"linear"},this._t=[],this.bt=[],this.Ct=[],this.cruisePosition=[0,0],this.cruiseLookAt=0,this.fixedLookAt=!0,this.minRotation=2,this.dt=t,this.setCruiseOptions(i||{}),this.Gt(this.Tt.timingFuntion),this.Bt.bind(this),t.addEventListener("movestart",(t=>{t.isGesture,t.isGesture&&this.Ft()})),t.addEventListener("zoomstart",(t=>{t.isGesture&&this.Ft()}))}setCruiseOptions(t){var i;t.animationOptions&&Object.assign(this.Tt,t.animationOptions),this.cruisePosition=(null==t?void 0:t.cruisePosition)||[0,0],this.cruiseLookAt=(null==t?void 0:t.cruiseLookAt)||0,this.fixedLookAt=null===(i=null==t?void 0:t.fixedLookAt)||void 0===i||i,this.minRotation=(null==t?void 0:t.minRotation)||2}getCruiseOptions(){return{cruisePosition:this.cruisePosition,cruiseLookAt:this.cruiseLookAt,fixedLookAt:this.fixedLookAt,minRotation:this.minRotation}}At(){this.Ot||(this._t.length&&(this.dt.setHeading(this._t[0],{noAnimation:!0}),this._t.shift()),this.bt.length&&(this.dt.setTilt(this.bt[0],{noAnimation:!0}),this.bt.shift()),this.Ct.length&&(this.dt.setCenter(this.Ct[0],{noAnimation:!0}),this.Ct.shift()))}setCruisePosition(t){this.cruisePosition=t}setCruiseLookAt(t){this.cruiseLookAt=t}Bt(t,i,s,e){if(!this.Ot){if(i=void 0!==i?function(t){return t<=180?-t:360-t}(i-this.cruiseLookAt):this.dt.getHeading(),this._t=[],this.Ct=[],0===this.Ct.length){let h=this.dt.getHeading(),r=this.dt.getCenter();if(0===this.cruisePosition[0]&&0===this.cruisePosition[1]||(t=this.dt.overlayPixelToPoint(new BMapGL.Pixel(this.dt.width/2-this.cruisePosition[0],this.dt.height/2+this.cruisePosition[1]),{heading:this.fixedLookAt?i:h,tilt:s,center:t})),0===e)return this.dt.setCenter(t,{noAnimation:!0}),void(this.fixedLookAt&&this.dt.setHeading(i,{noAnimation:!0}));{let i=t.lng-r.lng,s=t.lat-r.lat;this.Dt(i,s,r,t)}}this.fixedLookAt&&this.St(i,s)}}St(t,i){var s,e,h;let r=Math.floor((null!==(s=this.Tt.rotationDuration)&&void 0!==s?s:500)/16.6),n=null!==(e=this._t[this._t.length-1])&&void 0!==e?e:this.dt.getHeading(),o=null!==(h=this.bt[this.bt.length-1])&&void 0!==h?h:this.dt.getTilt(),a=g(t,n),l=i-o;for(let t=0;t<r;t++){let i=v(this.Pt[0],this.Pt[1],this.Pt[2],this.Pt[3],(t+1)/r);Math.abs(a)>5&&(this._t[this._t.length]=m(n+a*i.y)),Math.abs(l)>2&&(this.bt[this.bt.length]=l*i.y+o)}Math.abs(a)>5&&this._t.push(t)}Dt(t,i,s,e){var h;let r=Math.floor((null!==(h=this.Tt.positionDuration)&&void 0!==h?h:100)/16.6);for(let e=0;e<r;e++){let h=v(this.Pt[0],this.Pt[1],this.Pt[2],this.Pt[3],(e+1)/r);if(Math.abs(t)>1e-6||Math.abs(i)>1e-6){let e=s.lat+i*h.y,r=s.lng+t*h.y;this.Ct[this.Ct.length]=new BMapGL.Point(r,e)}}this.Ct.push(e)}Gt(t){if("string"==typeof t)switch(t){case"ease":this.Pt=[{x:0,y:0},{x:.25,y:.1},{x:.25,y:1},{x:1,y:1}];break;case"linear":default:this.Pt=[{x:0,y:0},{x:0,y:0},{x:1,y:1},{x:1,y:1}];break;case"ease-in":this.Pt=[{x:0,y:0},{x:.42,y:0},{x:1,y:1},{x:1,y:1}];break;case"ease-out":this.Pt=[{x:0,y:0},{x:0,y:0},{x:.58,y:1},{x:1,y:1}];break;case"ease-in-out":this.Pt=[{x:0,y:0},{x:.42,y:0},{x:.58,y:1},{x:1,y:1}]}else Array.isArray(t)&&(this.Pt=[{x:0,y:0},{x:t[0].x,y:t[0].y},{x:t[1].x,y:t[1].y},{x:1,y:1}])}Ft(){this.Ot&&clearTimeout(this.Ot),this.Ot=window.setTimeout((()=>{clearTimeout(this.Ot),this.Ot=0,this.Ct=[]}),2e3)}};A=r([n],A);var O=A;let D=class extends h{constructor(){super(),this.jt=new Map,this.It=new Map}getLayer(i){if(this.Rt)return i&&i.addNormalLayer(this.Rt),this.Rt;{if(null==e)throw new Error("three.js is required");this.Rt=new BMapGL.ThreeLayer({enablePicked:!0,alpha:!0,zIndex:1e3,isTop:!0,isLowText:!0,onRender:function(t,i,s){t.render(i,s)}}),this.Rt.addEventListener("click",(function(i){if(i.value&&i.value.length>0){let s=i.value[0].owner;s&&s.fire(t.MapCodes.CLICK,i)}}));let s=this;return this.Rt.addEventListener("mousemove",(function(i){if(i.value&&i.value.length>0){let e=i.value[0].owner;e&&s.fire(t.MapCodes.MOUSE_OVER,i),e&&0===e.u&&(e.u=1,e.fire(t.MapCodes.MOUSE_OVER,i))}i.value||s.fire(t.MapCodes.MOUSE_OUT,i)})),i&&i.addNormalLayer(this.Rt),this.Rt}}loadModel(t){if(null==e)throw new Error("three.js is required");return new Promise(((i,s)=>{this.jt.has(t)?i(this.jt.get(t).clone(!0)):(new e.GLTFLoader).load(t,(s=>{this.jt.set(t,s.scene.clone(!0)),i(s.scene)}))}))}addModel(t,i){this.It.set(t.uuid,t),this.getLayer(i).add(t)}removeModel(t){t&&(this.It.delete(t.uuid),this.getLayer().remove(t))}getModel(t){return this.It.get(t)}destroy(t){this.It.forEach((t=>{t.traverse((t=>{var i,s;t instanceof e.Mesh&&(null===(i=t.geometry)||void 0===i||i.dispose(),null===(s=t.material)||void 0===s||s.dispose())}))})),this.It=new Map,this.jt.forEach((t=>{t.traverse((t=>{var i,s;t instanceof e.Mesh&&(null===(i=t.geometry)||void 0===i||i.dispose(),null===(s=t.material)||void 0===s||s.dispose())}))})),this.jt=new Map,null==t||t.removeNormalLayer(this.Rt),super.destroy()}};D=r([n],D);const S=new D;class j extends h{constructor(t){super(),this.Nt={},this.Ut=!1,this.status="init",this.zt=new Map,this.X=t,void 0!==t.rotation&&this.setRotation(t.rotation),this.Vt()}Et(t){this.qt=t}Ht(){return this.qt}getOptions(){return this.X}addToMap(t,i){if(this.status="onmap",this.Ut=!!i,this.zt.size)for(let[t,i]of this.zt)i.forEach((i=>{this.qt.addEventListener(t,i)}));this.zt.clear()}removeFromMap(t){this.status="destroyed",this.zt.clear()}on(t,i){if("function"==typeof i&&(super.on(t,i),!(e&&e.Group&&this.qt instanceof e.Group)&&"onclick|onmouseover|onmouseout".indexOf(t.toLocaleLowerCase())>-1))if("onmap"===this.status)this.Ht().addEventListener(t,i);else if("init"===this.status){let s=this.zt.get(t);s?s.push(i):this.zt.set(t,[i])}}off(t,i){if(super.off(t,i),!(e&&e.Group&&this.qt instanceof e.Group)&&i&&"onclick|onmouseover|onmouseout".indexOf(t.toLocaleLowerCase())>-1)if("onmap"===this.status)this.Ht().removeEventListener(t,i);else if("init"===this.status){let s=this.zt.get(t);s&&s.indexOf(i)>-1&&s.splice(s.indexOf(i),1)}}moveTo(i,s){this.Ut&&!s||(this.setPoint(i.getPoint()),void 0!==i.getRotation()&&this.setRotation(i.getRotation())),this.dispatchEvent(t.PointCodes.SET_TRACK_POINT,{trackPoint:i,emit:!!s})}setPoint(i,s){return!(this.Wt&&this.Wt.equals(i)||(this.Wt=i,this.dispatchEvent(t.PointCodes.CHANGE_POINT,{point:i}),0))}getPoint(){return this.Wt}setRotation(i){return!(!isNaN(this.Zt)&&!isNaN(this.Jt)&&this.Jt===i||(this.Jt=i,this.dispatchEvent(t.PointCodes.CHANGE_ROTATION,{rotation:i}),0))}getRotation(){return this.Jt}getProperty(){return this.Nt}setProperty(t){this.Nt=t}get isDestroyed(){return"destroyed"===this.status}set isDestroyed(t){this.status=t?"destroyed":"init"}}const I="./images/car.png",R=[16,32],N=[90,90,0];t.CustomPoint=class extends j{constructor(t){var i;let s=t||{},e=Object.assign({},{fixBottom:!0,minZoom:3,maxZoom:21,offsetY:0,rotationInit:0,useTranslate:!0,rotationFlip:!0,autoFollowHeadingChanged:!0,synUpdate:!0},null!==(i=s.style)&&void 0!==i?i:{});e.point=s.point,s.style=e,super(s)}Vt(){var t;let i=this.getOptions().createDom,s=null!==(t=this.getOptions().style)&&void 0!==t?t:{};this.Et(new BMapGL.CustomOverlay(i,s)),this.Yt=this.Ht()}addToMap(i,s){void 0!==this.Jt&&this.setRotation(this.Jt),i.addOverlay(this.Yt),this.fire(t.MapCodes.ADD_TO_MAP,{map:i}),super.addToMap(i,s)}removeFromMap(i){i.removeOverlay(this.Yt),this.fire(t.MapCodes.REMOVE_FROM_MAP,{map:i}),super.removeFromMap(i)}setPoint(t){return!!super.setPoint(t)&&(this.Y=[t.lng,t.lat,0],this.Yt.setPoint(t,!0),!0)}setRotation(t){return!(!super.setRotation(t)||!this.Yt||(this.Zt=t,this.Yt.setRotationOrigin(t),0))}},t.GroundPoint=class extends j{constructor(t){var i,s;let e=t||{};const h=R;let r={scale:1,rotation:0,anchor:new BMapGL.Size(.5,.5),offset:new BMapGL.Size(0,0),level:18,type:"image",size:new BMapGL.Size(...h),url:I,opacity:1},n=Object.assign({},r,null!==(i=e.style)&&void 0!==i?i:{});e.style=n,super(e),this.adjustSize=!0,this.baseLevel=18,this.baseLevel=n.level,this.adjustSize=null!==(s=e.adjustSize)&&void 0!==s?s:this.adjustSize,this.adjustSize&&y.on("zoom_changed",(({e:t,map:i})=>{this.setScale(Math.pow(2,this.baseLevel-i.getZoom()))}))}Vt(){var t,i;let s=null!==(t=this.getOptions().point)&&void 0!==t?t:new BMapGL.Point(0,0),e=null!==(i=this.getOptions().style)&&void 0!==i?i:{};this.Et(new BMapGL.GroundPoint(s,e)),this.Yt=this.Ht()}setPoint(t){return!!super.setPoint(t)&&(this.Y=[t.lng,t.lat,0],this.Yt.setPoint(t),!0)}setRotation(t){return!(!super.setRotation(t)||!this.Yt||(this.Zt=t,this.Yt.setRotation(t),0))}addToMap(i,s){this.adjustSize&&this.setScale(Math.pow(2,this.baseLevel-i.getZoom())),void 0!==this.Jt&&this.setRotation(this.Jt),i.addOverlay(this.Yt),this.fire(t.MapCodes.ADD_TO_MAP,{map:i}),super.addToMap(i,s)}removeFromMap(i){i.removeOverlay(this.Yt),this.fire(t.MapCodes.REMOVE_FROM_MAP,{map:i}),super.removeFromMap(i)}setScale(t){this.Xt=t,this.Yt.setScale(t)}},t.LiveTrack=B,t.LocalTrack=C,t.MarkerPoint=class extends j{constructor(t){var i;let s=t||{};const e=R;let h={icon:new BMapGL.Icon(I,new BMapGL.Size(...e)),autoFollowHeadingChanged:!0},r=Object.assign({},h,null!==(i=s.style)&&void 0!==i?i:{});s.style=r,super(s)}Vt(){var t,i;let s=null!==(t=this.getOptions().point)&&void 0!==t?t:new BMapGL.Point(0,0),e=null!==(i=this.getOptions().style)&&void 0!==i?i:{};this.Et(new BMapGL.Marker(s,e)),this.Yt=this.Ht()}addToMap(i,s){void 0!==this.Jt&&this.setRotation(this.Jt),i.addOverlay(this.Yt),this.fire(t.MapCodes.ADD_TO_MAP,{map:i}),super.addToMap(i,s)}removeFromMap(i){i.removeOverlay(this.Yt),this.fire(t.MapCodes.REMOVE_FROM_MAP,{map:i}),super.removeFromMap(i)}setPoint(t){return!!super.setPoint(t)&&(this.Y=[t.lng,t.lat,0],this.Yt.setPosition(t),!0)}setRotation(t){return!(!super.setRotation(t)||!this.Yt||(this.Zt=t,this.Yt.setRotationOrigin(t),0))}},t.ModelPoint=class extends j{constructor(t){var i,s;let e=t||{},h={url:"./images/bus.glb",scale:9,level:18,rotationX:N[0],rotationY:N[1],rotationZ:N[2]},r=Object.assign({},h,null!==(i=e.style)&&void 0!==i?i:{});e.style=r,super(e),this.adjustSize=!0,this.baseLevel=18,this.u=0,this.baseLevel=r.level,this.adjustSize=null!==(s=e.adjustSize)&&void 0!==s?s:this.adjustSize,this.adjustSize&&y.on("zoom_changed",(({e:t,map:i})=>{this.setScale(Math.pow(2,this.baseLevel-i.getZoom()))}))}Vt(){let i=this.getOptions().style;i&&i.url&&(S.loadModel(i.url).then((t=>{var s,e,h,r,n,o;this.Et(t),this.Yt=this.Ht(),this.Yt.owner=this,this.setRotationXYZ(null!==(s=null==i?void 0:i.rotationX)&&void 0!==s?s:0,null!==(e=null==i?void 0:i.rotationY)&&void 0!==e?e:0,null!==(h=null==i?void 0:i.rotationZ)&&void 0!==h?h:0),this.Kt?(this.setScale(null!==(r=this.Xt)&&void 0!==r?r:null==i?void 0:i.scale),this.setRotation(null!==(n=this.Jt)&&void 0!==n?n:null==i?void 0:i.rotationY),this.Kt()):this.setScale(null!==(o=null==i?void 0:i.scale)&&void 0!==o?o:1)})),S.on(t.MapCodes.MOUSE_OVER,(i=>{i.value[0].owner!==this&&1===this.u&&(this.u=0,this.fire(t.MapCodes.MOUSE_OUT,i))})),S.on(t.MapCodes.MOUSE_OUT,(i=>{1===this.u&&(this.fire(t.MapCodes.MOUSE_OUT,i),this.u=0)})))}addToMap(t,i){this.Yt?this.Qt(t,i):this.Kt=()=>{this.Qt(t,i)}}Qt(i,s){this.adjustSize&&this.setScale(Math.pow(2,this.baseLevel-i.getZoom())),this.Y?this.setPosition(...this.Y):this.setPoint(this.getOptions().point,i),void 0!==this.Jt&&this.setRotation(this.Jt),S.addModel(this.Yt,i),this.fire(t.MapCodes.ADD_TO_MAP,{map:i}),super.addToMap(i,s)}removeFromMap(i){S.removeModel(this.Yt),this.fire(t.MapCodes.REMOVE_FROM_MAP,{map:i}),super.removeFromMap(i)}setPoint(t,i){if(super.setPoint(t)){if(i||(i=y.getMap()),!i)return!1;let s=i.toFormatCoords([[t.lng,t.lat]]);return this.setPosition(s[0][0],s[0][1]),!0}return!1}setRotation(t){var i;if(isNaN(t)&&(t=0),super.setRotation(t)&&this.Yt){let s=this.getOptions().style,e=Math.PI*((null!==(i=null==s?void 0:s.rotationY)&&void 0!==i?i:0)-(null!=t?t:0))/180;return this.Yt&&(this.Zt=t,this.Yt.rotation.y=e,y.drawOnce()),!0}return!1}setPosition(t,i,s){this.Y=[t,i,null!=s?s:this.Y?this.Y[2]:0],this.Yt&&(this.Yt.position.set(...this.Y),y.drawOnce())}setPositionZ(t){this.Y&&(this.Y[2]=t),this.Yt&&(this.Yt.position.z=t,y.drawOnce())}setRotationXYZ(t,i,s){this.Yt&&(this.Yt.rotation.x=Math.PI*(t/180),this.Yt.rotation.y=Math.PI*(i/180),this.Yt.rotation.z=Math.PI*(s/180),y.drawOnce())}setScale(t){var i,s;if(isNaN(t)||0===t)return;let e=this.getOptions().style,h=null!==(i=null==e?void 0:e.scale)&&void 0!==i?i:1;this.Xt=h*(null!=t?t:1),null===(s=this.Yt)||void 0===s||s.scale.set(this.Xt,this.Xt,this.Xt),y.drawOnce()}},t.MovePoint=j,t.TrackLine=b,t.TrackPoint=G,t.View=class extends h{constructor(i,s){super(),this.$t=[],this.dt=i,this.options=s||{},i.config.markerUseRound=!1,y.setMap(this.dt),this.roadTrackMap=new Map,this.ti=new F(i,this.roadTrackMap,this.options.lineLayerOptions),this.ii=new O(i,this.options.cruiseOptions||{}),this.si=new a(this.ei.bind(this)),this.addEventListener(t.ViewCodes.UPDATE_FEATURE,(t=>{let{F:i}=t;-1===this.$t.findIndex((t=>t===i))&&this.$t.push(i)})),this.addEventListener(t.ViewCodes.UPDATE_RENDER,(t=>{this.dt._drawFrame()})),this.addEventListener(t.ViewCodes.UPDATE_TRACK_POINT,(t=>{this.W&&this.W===t.uuid&&this.ii.Bt(t.point,t.angle,i.getTilt(),t.timeSpan)}))}addTrackLine(t){this.roadTrackMap.set(t.uuid,t),this.ti.ft(t),t.D(this),t.l&&this.si.addAnimationFrameFunc(t.uuid,t.N)}removeTrackLine(t){this.roadTrackMap.delete(t.uuid),this.ti.kt(t),t.S(),this.si.removeAnimationFrameFunc(t.uuid)}focusTrack(t){this.W=t?t.getUUID():""}getFocusTrack(){return this.roadTrackMap.get(this.W)}setCruiseOptions(t){this.ii.setCruiseOptions(t)}getCruiseOptions(){return this.ii.getCruiseOptions()}destroy(){this.si.destroyed(),this.roadTrackMap.forEach((t=>{this.removeTrackLine(t)})),S.destroy(this.dt),this.ti.destroy()}Lt(){this.$t&&(this.ti.Lt(this.$t),this.$t=[])}ei(){this.Lt(),this.ii.At()}}}));
|