/*! * * iclient-plot-leaflet.(https://iclient.supermap.io) * Copyright© 2000 - 2023 SuperMap Software Co.Ltd * version: v11.1.1 * */(()=>{var t={705:()=>{L.Path.include({onBefore:function(t){this._renderer._beforePath(this,t),this._reset(),this._renderer._addPath(this)}})},714:()=>{L.SVG.include({_drawPlottingLayers:function(t){t.map(function(e){return e instanceof L.Polyline&&e._update(),e instanceof L.Polygon&&e._update(),t})},getEvents:function(){var t=this;this._map.on("layeradd",function(e){e.layer===t&&(L.DomEvent.on(t._container,"mousemove",L.Util.throttle(t._onMouseMove,32,t),t),L.DomEvent.on(t._container,"mouseout",t._handleMouseOut,t))});var e=L.Renderer.prototype.getEvents.call(this);return e.zoomstart=this._onZoomStart,e},_onClick:function(t){var e,i=this._map.mouseEventToLayerPoint(t),o=[],l=[];for(var s in this._layers){var n=this._layers[s];if(n.options.interactive&&"function"==typeof n._containsPoint&&n._containsPoint(i)&&!this._map._draggableMoved(n)&&(e=n,Object.prototype.hasOwnProperty.call(e,"_eventParents")&&null!=e._eventParents))for(var a in e._eventParents)l.push(e),o.push(e._eventParents[a])}if(e&&l.length>1){if(o.length>0){var r=!1,p=[],u=[];for(let t=0,e=o.length;t1){this._fireEvent([u[e]],t);break}if(!r){this._fireEvent([u[u.length-1]],t);break}}}}else e&&e._eventParents[0]&&e._eventParents[0].fire(t.type,t)},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var e=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,e)}},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(L.DomUtil.removeClass(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null)},_handleMouseHover:function(t,e){var i,o;for(var l in this._layers)(i=this._layers[l]).options.interactive&&"function"==typeof i._containsPoint&&i._containsPoint(e)&&(o=i);o!==this._hoveredLayer&&(this._handleMouseOut(t),o&&(L.DomUtil.addClass(this._container,"leaflet-interactive"),this._fireEvent([o],t,"mouseover"),this._hoveredLayer=o)),this._hoveredLayer&&this._fireEvent([this._hoveredLayer],t)},_fireEvent:function(t,e,i){this._map._fireDOMEvent(e,i||e.type,t)},_updateTextPt:function(t,e,i,o){var l;if(t.setAttributeNS(null,"x",e.x),t.setAttributeNS(null,"y",e.y),i.options.display&&t.setAttributeNS(null,"display",i.options.display),!0===i.options.fontStroke&&(i.options.fontStrokeColor&&t.setAttributeNS(null,"stroke",i.options.fontStrokeColor),i.options.fontStrokeWidth&&t.setAttributeNS(null,"stroke-width",i.options.fontStrokeWidth)),i.options.labelRotation&&t.setAttributeNS(null,"transform","rotate("+i.options.labelRotation+" "+e.x+","+e.y+")"),i.options.fontColor&&t.setAttributeNS(null,"fill",i.options.fontColor),i.options.fontOpacity&&t.setAttributeNS(null,"opacity",i.options.fontOpacity),i.options.fontFamily&&t.setAttributeNS(null,"font-family",i.options.fontFamily),i.options.fontSize&&t.setAttributeNS(null,"font-size",i.options.fontSize),i.options.fontWeight&&t.setAttributeNS(null,"font-weight",i.options.fontWeight),i.options.fontStyle&&t.setAttributeNS(null,"font-layer.options",i.options.fontStyle),L.Browser.gecko){if(100!==i.options.fontPercent&&0!==i.options.fontSpace&&(l=i.options.fontSpace+i.options.fontPercent/100*parseFloat(i.options.fontSize)*i.options.text.length),100!==i.options.fontPercent&&0===i.options.fontSpace){var s=document.createElement("span");document.body.appendChild(s),s.style.width="auto",s.style.height="auto",i.options.fontSize&&(s.style.fontSize=new String(i.options.fontSize)+"px"),i.options.fontFamily&&(s.style.fontFamily=i.options.fontFamily),i.options.fontWeight&&(s.style.fontWeight=i.options.fontWeight),s.style.position="absolute",s.style.visibility="hidden",s.innerHTML=i.options.text;var n=s.clientWidth;l=i.options.fontPercent/100*n+i.options.text.length}t.setAttributeNS(null,"textLength",l),t.setAttributeNS(null,"lengthAdjust","spacingAndGlyphs")}t.setAttributeNS(null,"pointer-events","visible");var a=i.options.labelAlign||"cm";t.setAttributeNS(null,"text-anchor",L.SVG.LABEL_ALIGN[a[0]]||"middle"),!0===L.Browser.gecko&&t.setAttributeNS(null,"dominant-baseline",L.SVG.LABEL_ALIGN[a[1]]||"central");for(var r=function(){let t=L.SVG.LABEL_VFACTOR[a[1]];null==t&&(t=-.5);let e=t*(u-1);return L.Browser.ie&&(null===(t=L.SVG.LABEL_IE_VOFFSET[a[1]])&&(t=.35),e+=t),e},p=i.options.text.split("\n"),u=p.length;t.childNodes.length>u;)t.removeChild(t.lastChild);for(var h=0;h>>1)),0!==S?l.setAttribute("dy","0em"):0===h?l.setAttribute("dy",r()+"em"):l.setAttribute("dy","1em");let s=""===y[S]?" ":y[S];i.options.isUnicode?L.Browser.ie||L.Browser.ielt9?(this.element.innerHTML=s,l.textContent=this.element.innerHTML):l.innerHTML=s:l.textContent=s,l.parentNode||t.appendChild(l),P+=y[S],c=SuperMap.Plot.PlottingUtil.getTextWidth(i.options,P)+parseFloat(i.options.fontSpace)*(i.options.fontPercent/100)}}else{let l=o+"tspan"+h;i._tspanNodeObj&&i._tspanNodeObj[l]||(i._tspanNodeObj[l]=L.SVG.create("tspan"));let s=i._tspanNodeObj[l];if(!1===L.Browser.gecko&&s.setAttributeNS(null,"baseline-shift",L.SVG.LABEL_VSHIFT[a[1]]||"-35%"),100!==i.options.fontPercent){let t=SuperMap.Plot.PlottingUtil.getTextWidth(i.options,p[h]);s.setAttributeNS(null,"textLength",t),s.setAttributeNS(null,"lengthAdjust","spacingAndGlyphs")}s.setAttribute("x",e.x),0==h?s.setAttribute("dy",r()+"em"):s.setAttribute("dy","1em");let n=""===p[h]?" ":p[h];i.options.isUnicode?L.Browser.ie||L.Browser.ielt9?(this.element.innerHTML=n,s.textContent=this.element.innerHTML):s.innerHTML=n:s.textContent=n,s.parentNode||t.appendChild(s)}}t.parentNode||this._rootGroup.appendChild(t)},_updateText:function(t){if(t.options.text&&0!==t.options.text.length)if(t.options.fontSize<6||t.options.fontPercent<=0)t._removeNode();else{for(var e in t._eventParents)if(t._eventParents[e].symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL&&!1===t._eventParents[e].textDisplay)return void t._removeNode();void 0===t.options.fontPercent&&(t.options.fontPercent=100),t.options.fontPercent<0&&(t.options.fontPercent=0),t.options.fontPercent>400&&(t.options.fontPercent=400),void 0===t.options.fontSpace&&(t.options.fontSpace=0),t.options.fontSpace>30?t.options.fontSpace=30:t.options.fontSpace<0&&(t.options.fontSpace=0);var i=t._latlng,o=this._map.latLngToLayerPoint(i);if(void 0!=o){if(t.options.labelXOffset||t.options.labelYOffset){var l=isNaN(t.options.labelXOffset)?0:t.options.labelXOffset,s=isNaN(t.options.labelYOffset)?0:t.options.labelYOffset;o.x+=l,o.y-=s}if(!0===t.options.fontShadow){t._shadowTextNode&&t._shadowTextNode.parentNode||(t._shadowTextNode=L.SVG.create("text"),this._rootGroup.appendChild(t._shadowTextNode));var n=L.point(o.x,o.y);if(t.options.fontShadowOffsetX&&(n.x+=t.options.fontShadowOffsetX),t.options.fontShadowOffsetY&&(n.y+=t.options.fontShadowOffsetY),0!==t.options.labelRotation){var a=o.x,r=o.y,p=t.options.labelRotation*Math.PI/180,u=Math.sqrt(Math.pow(n.x-a,2)+Math.pow(n.y-r,2)),h=p+Math.atan2(n.y-r,n.x-a);n.x=a+u*Math.cos(h),n.y=r+u*Math.sin(h)}var g=t.options.fontStroke;t.options.fontStroke=!1;var c=t.options.fontColor;t.options.fontColor=t.options.fontShadowColor,this._updateTextPt(t._shadowTextNode,n,t,"shadow"),t.options.fontColor=c,t.options.fontStroke=g}else t._shadowTextNode&&t._shadowTextNode.parentNode&&(this._rootGroup.removeChild(t._shadowTextNode),delete t._shadowTextNode);if(t._textNode&&t._textNode.parentNode||(t._textNode=L.SVG.create("text"),this._rootGroup.appendChild(t._textNode),t.options.interactive&&L.DomUtil.addClass(t._textNode,"leaflet-interactive"),t.addInteractiveTarget(t._textNode)),this._updateTextPt(t._textNode,o,t,"label"),!0===t.options.fontBackground){var y=t._shadowTextNode;if(y&&y.parentNode||(y=t._textNode),!y||!y.parentNode)return;t._backgroundTextNode&&t._backgroundTextNode.parentNode||(t._backgroundTextNode=L.SVG.create("rect"),!0===t.options.fontShadow?this._rootGroup.insertBefore(t._backgroundTextNode,t._shadowTextNode):this._rootGroup.insertBefore(t._backgroundTextNode,t._textNode));var P=t._textNode.getBBox();t._backgroundTextNode.x.baseVal.value=P.x,t._backgroundTextNode.y.baseVal.value=P.y,t._backgroundTextNode.width.baseVal.value=P.width,t._backgroundTextNode.height.baseVal.value=P.height,t._backgroundTextNode.style.fill=t.options.fontBackgroundColor,t.options.labelRotation&&t._backgroundTextNode.setAttributeNS(null,"transform","rotate("+t.options.labelRotation+" "+o.x+","+o.y+")")}else t._backgroundTextNode&&t._backgroundTextNode.parentNode&&(this._rootGroup.removeChild(t._backgroundTextNode),delete t._backgroundTextNode)}else t._removeNode()}else t._removeNode()},_updateImage:function(t){if(t._imageNode&&t._imageNode.parentNode||(t._imageNode=L.SVG.create("image"),this._rootGroup.appendChild(t._imageNode)),t._imageNode.setAttributeNS(null,"cx",t._point.x),t._imageNode.setAttributeNS(null,"cy",t._point.y),t._imageNode.setAttributeNS(null,"r",1),t._imageNode.style.visibility="",t.options.graphicTitle){t._imageNode.setAttributeNS(null,"title",t.options.graphicTitle);var e=L.SVG.create("title");e.textContent=style.graphicTitle,t._imageNode.appendChild(e)}t.options.graphicWidth&&t.options.graphicHeight&&t._imageNode.setAttributeNS(null,"preserveAspectRatio","none");var i=t.options.graphicWidth||t.options.graphicHeight,o=t.options.graphicHeight||t.options.graphicWidth;i=i||2*t.options.pointRadius,o=o||2*t.options.pointRadius;var l=void 0!=t.options.graphicXOffset?t.options.graphicXOffset:-.5*i,s=void 0!=t.options.graphicYOffset?t.options.graphicYOffset:-.5*o,n=t.options.graphicOpacity||t.options.fillOpacity;t._imageNode.setAttributeNS(null,"x",(t._point.x+l).toFixed()),t._imageNode.setAttributeNS(null,"y",(t._point.y+s).toFixed()),t._imageNode.setAttributeNS(null,"width",i),t._imageNode.setAttributeNS(null,"height",o),t._imageNode.setAttributeNS("http://www.w3.org/1999/xlink","href",t.options.externalGraphic),t._imageNode.setAttributeNS(null,"style","opacity: "+n),t._imageNode.onclick=L.SVG.preventDefault;var a=t.options.rotation;void 0===a&&void 0===t._imageNode._rotation||!t._point||(t._imageNode._rotation=a,a|=0,t._imageNode.setAttributeNS(null,"transform","rotate("+a+" "+t._point.x+" "+t._point.y+")")),t._imageNode.setAttributeNS(null,"fill","none"),t._imageNode.setAttributeNS(null,"stroke","none"),t.options.pointerEvents?(t._imageNode.setAttributeNS(null,"pointer-events",t.options.pointerEvents),t._imageNode.style.pointerEvents=t.options.pointerEvents):(t._imageNode.setAttributeNS(null,"pointer-events","visiblepainted"),t._imageNode.style.pointerEvents="visiblepainted"),null!=t.options.cursor&&t._imageNode.setAttributeNS(null,"cursor",style.cursor)},_updateArc:function(t){if(this._drawing&&!t._empty()){var e=t._point,i=t._radius,o="a"+i+","+(t._radiusY||i)+" 0 1,0 ";sRadian=(360-t.options.endAngle)*(Math.PI/180),eRadian=(360-t.options.startAngle)*(Math.PI/180);var l=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+o+2*i+",0 "+o+2*-i+",0 ";this._setPath(t,l)}}}),L.SVG.LABEL_ALIGN={l:"start",r:"end",b:"bottom",t:"hanging"},L.SVG.LABEL_VSHIFT={t:"-83%",b:"0"},L.SVG.LABEL_VFACTOR={t:0,b:-1},L.SVG.LABEL_IE_VOFFSET={t:.86,b:0},L.SVG.preventDefault=function(t){t.preventDefault&&t.preventDefault()}},630:()=>{L.supermap.TiledMapLayer.include({setVisibility:function(t){return t?this.setOpacity(100):this.setOpacity(0),0},getVisibility:function(){return 0!=this.options.opacity}})}},e={};function i(o){var l=e[o];if(void 0!==l)return l.exports;var s=e[o]={exports:{}};return t[o](s,s.exports,i),s.exports}(()=>{"use strict";var t=window.SuperMap=window.SuperMap||{};t.Plot=t.Plot||{},window.SuperMapAlgoPlot=t.Plot||{},SuperMap.Plot.ArrowTailType={ARROWTAIL_NONE:0,ARROWTAIL_LINE:1,ARROWTAIL_CURVE:2,ARROWTAIL_COATTAIL:3,ARROWTAIL_COATTAIL_POLYBODY:4},SuperMap.Plot.ArrowHeadType={ARROWHEAD_POLYLINE:0,ARROWHEAD_TRIANGLE:1,ARROWHEAD_COATTAIL:2,ARROWHEAD_TRIANGLE_SOLID:3,ARROWHEAD_WITH_EAR:4,ARROWHEAD_WITHOUT_EAR:5,ARROWHEAD_COATTAIL_HOLLOW:6},SuperMap.Plot.ArrowBodyType={ARROWBODY_POLYLINE:0,ARROWBODY_POLYBEZIER:1,ARROWBODY_PARALLEL:2,ARROWBODY_TRAPEZOID:3,ARROWBODY_MULTIPOLYBEZIER:4,ARROWBODY_COATTAIL:5},SuperMap.Plot.SymbolType={DOTSYMBOL:1,ALGOSYMBOL:2,TEXTSYMBOL:34,ELLIPSESYMBOL:31,CIRCLESYMBOL:29,RECTANGLESYMBOL:26,ARBITRARYPOLYGONSYMBOL:32,POLYLINESYMBOL:24,PARALLELOGRAM:28,ARCSYMBOL:44,NEWARCSYMBOL:4401,REGULARPOLYGON:410,CHORDSYMBOL:370,NEWCHORDSYMBOL:3701,PIESYMBOL:380,NEWPIESYMBOL:3801,KIDNEY:390,POLYBEZIERSYMBOL:590,PARALLELLINE:48,BRACESYMBOL:400,ANNOFRAMESYMBOL:320,ANNOFRAMESYMBOLM:321,TRAPEZOIDSYMBOL:350,POLYBEZIERCLOSESYMBOL:360,GROUPOBJECT:1e3,LINERELATION:1001,INTERFERENCEBEAM:1002,POLYGONREGION:1003,ARCREGION:1004,AIRROUTE:1005,NAVYROUTE:1006,MISSILEROUTE:1007,NAVYDEPLOYMENT:1008,AIRDEPLOYMENT:1009,SATELLITE:1010,SATELLITETIMEWINDOWS:1011,SYMBOLTEXT:1012,RUNWAY:1013,CURVEEIGHT:1014,ROUTENODE:1015,ARROWLINE:1016,PATHTEXT:1017,LITERATESIGN:1018,CONCENTRICCIRCLE:1019,FLAGGROUP:1020,SYMBOLTEXT1:1021,COMBINATIONALCIRCLE:1022,FREECURVE:1023,SYMBOLTEXTBOX:1024,NODECHAIN:1025,LINEMARKING:1026,AVOIDREGION:1027,WIRE:1028,LINEARARROW:1029,PICTURE:3e3},SuperMap.Plot.LineRelationType={SOLID:0,DASH:1,ARROW:2},SuperMap.Plot.AlgoSurroundLineType={NONE:0,INNER:1,OUT:2,ALL:3},SuperMap.Plot.RouteNodeType={RENDEZVOUS:"RENDEZVOUS",EXPANDING:"EXPANDING",VOLLEY:"VOLLEY",STANDBY:"STANDBY",SUPPLY:"SUPPLY",TAKEOFF:"TAKEOFF",INITIAL:"INITIAL",VISUALINITAL:"VISUALINITAL",LANCH:"LANCH",TURNING:"TURNING",AIMING:"AIMING",COMMONROUTE:"COMMONROUTE",WEAPONLAUNCH:"WEAPONLAUNCH",TARGET:"TARGET",ATTACK:"ATTACK",SUPPRESS:"SUPPRESS",EIGHTSPIRAL:"EIGHTSPIRAL",HAPPYVALLEY:"HAPPYVALLEY"},SuperMap.Plot.RelLineText={ONLINE:0,ONLEFTLINE:1,ONRIGHTLINE:2,ONBOTHLINE:3},SuperMap.Plot.RadiusLineType={NONE:0,SOLID:1,ARROW:2},SuperMap.Plot.Position={TOP:4,BOTTOM:5,LEFT:6,RIGHT:7},SuperMap.Plot.AnnoPosition={LEFTTOP:0,LEFTBOTTOM:1,RIGHTTOP:2,RIGHTBOTTOM:3,TOP:4,BOTTOM:5,LEFT:6,RIGHT:7,MIDDLE:8,ANCHOR:9},SuperMap.Plot.ArrowLineType={DOUBLELINE:0,TRIANGLESOLID:1,NONE:2},SuperMap.Plot.TextBoxType={WITHTIPBOX:0,RECTBOX:1,LINEBOX:2,NONEBOX:3},SuperMap.Plot.PositionOffsetType={LINE:0,GRADIENTLINE:1},SuperMap.Plot.AlignType={LEFT:0,RIGHT:1,UP:2,DOWN:3,VERTICALCENTER:4,HORIZONTALCENTER:5},SuperMap.Plot.EditMode={ADDCONTROLPOINT:0,EDITCONTROLPOINT:1,EDITCIRCUMRECTANGLE:2,REMOVECONTROLPOINT:3};SuperMap.Plot.EqualLargeType={WIDTH:0,HEIGHT:1,SAME:2},SuperMap.Plot.UniformDistributionType={LEVEL:0,VERTICAL:1};SuperMap.Plot.TransactionType={CREATE:0,EDIT:1,REMOVE:2},SuperMap.Plot.Event=SuperMap.Plot.Event||{};SuperMap.Plot.Event.beforefeatureadded="beforefeatureadded",SuperMap.Plot.Event.featureadded="featureadded",SuperMap.Plot.Event.beforefeaturesselected="beforefeaturesselected",SuperMap.Plot.Event.featuresselected="featuresselected",SuperMap.Plot.Event.updateFeature="updateFeature",SuperMap.Plot.Event.beforefeaturesunselected="beforefeaturesunselected",SuperMap.Plot.Event.featuresunselected="featuresunselected",SuperMap.Plot.Event.beforefeaturesmodified="beforefeaturesmodified",SuperMap.Plot.Event.featuresmodified="featuresmodified",SuperMap.Plot.Event.beforefeaturesremoved="beforefeaturesremoved",SuperMap.Plot.Event.featuresremoved="featuresremoved",SuperMap.Plot.Event.beforefeaturesadded="beforefeaturesadded",SuperMap.Plot.Event.featuresadded="featuresadded",SuperMap.Plot.Event.movingtargetsselected="featuresselected",SuperMap.Plot.Event.movingtargetsunselected="featuresunselected",SuperMap.Plot.Event.movingtargetcontextmenu="featurecontextmenu",SuperMap.Plot.Event.initializecompleted="initializecompleted",SuperMap.Plot.Event.cachecompleted="cachecompleted",SuperMap.Plot.Event.plottinglayeradded="plottinglayeradded",SuperMap.Plot.Event.plottinglayerremoved="plottinglayerremoved",SuperMap.Plot.Event.plottinglayeractive="plottinglayeractive",SuperMap.Plot.Event.childplotlayeradded="childplotlayeradded",SuperMap.Plot.Event.childplotlayerremoved="childplotlayerremoved",SuperMap.Plot.Event.childplotlayeractive="childplotlayeractive",SuperMap.Plot.Event.reseteditmarkersvalues="reseteditmarkersvalues",SuperMap.Plot.Event.reseteditmarkers="reseteditmarkers",SuperMap.Plot.Event.animationcreated="animationcreated",SuperMap.Plot.Event.animationdeleted="animationdeleted",SuperMap.Plot.Event.animationmodify="animationmodify",SuperMap.Plot.Event.animationbegin="animationbegin",SuperMap.Plot.Event.animationend="animationend",SuperMap.Plot.Event.animatitonpropertyconfig="animatitonpropertyconfig",SuperMap.Plot.Event.wayfeaturedrawfinished="wayfeaturedrawfinished",SuperMap.Plot.Event.wayfeaturemodifyfinished="wayfeaturemodifyfinished";SuperMap.Plot.GOAnimationType={ANIMATION_UNKNOWN:-1,ANIMATION_WAY:0,ANIMATION_BLINK:1,ANIMATION_ATTRIBUTE:2,ANIMATION_SHOW:3,ANIMATION_ROTATE:4,ANIMATION_SCALE:5,ANIMATION_GROW:6,ANIMATION_HIDE_EXP:12,ANIMATION_REDUCE_EXP:13,ANIMATION_MOVEIN_EXP:14,ANIMATION_MOVEOUT_EXP:15,ANIMATION_ZOOMIN_EXP:16,ANIMATION_ZOOMOUT_EXP:17,ANIMATION_CURVE_EXP:18,ANIMATION_BROKENLINE_EXP:19,ANIMATION_GROW_EXP:20,ANIMATION_WAY_EXP:21,ANIMATION_BLINK_EXP:22,ANIMATION_SHOW_EXP:23,ANIMATION_MOVEVIEW_EXP:24},SuperMap.Plot.BlinkAnimationBlinkStyle={Blink_Frequency:0,Blink_Number:1},SuperMap.Plot.BlinkAnimationReplaceStyle={Replace_NoColor:0,Replace_Color:1},SuperMap.Plot.RotateDirection={ClockWise:0,AntiClockWise:1},SuperMap.Plot.WayPathType={POLYLINE:0,CURVE:1};var e=SuperMap.Plot.GOAnimationState={UNKNOWN:0,PLAYING:1,PAUSE:2,STOP:3,RESET:4},o=SuperMap.Plot.AnimationPlayType={PLAYFROMNOW:0,PLAYSAMELASTONE:1,PLAYAFTERLASTONE:2,UNKNOWN:3};SuperMap.PlotCommonServiceBase=class extends SuperMap.CommonServiceBase{constructor(t,e){super(t,e),this.CLASS_NAME="SuperMap.PlotCommonServiceBase"}destroy(){super.destroy()}_commit(t){"POST"!==t.method&&"PUT"!==t.method||(t.params&&(t.url=SuperMap.Util.urlAppend(t.url,SuperMap.Util.getParameterString(t.params||{}))),t.params=t.data),SuperMap.FetchRequest.commit(t.method,t.url,t.params,{headers:t.headers,withCredentials:t.withCredentials,crossOrigin:t.crossOrigin,timeout:t.async?0:null,proxy:t.proxy}).then(function(t){return t.text()}).then(function(e){var i=(new SuperMap.Format.JSON).read(e);i||(i={error:e}),i.error?(t.scope?SuperMap.Function.bind(t.failure,t.scope):t.failure)(i.error):(i.succeed=void 0==i.succeed||i.succeed,(t.scope?SuperMap.Function.bind(t.success,t.scope):t.success)(i))})}};SuperMap.EditSmlFileParameters=class{constructor(t){t=t||{},this.method=t.method?t.method:"POST",this.sitData=t.sitData?t.sitData:null,this.smlFileName=t.smlFileName?t.smlFileName:"",this.isCover=!!t.isCover&&t.isCover,this.CLASS_NAME="SuperMap.EditSmlFileParameters"}destroy(){this.method="POST",this.sitData=null,this.isCover=!1,this.smlFileName=""}static toJsonParameters(t){if(t)return SuperMap.Plot.PlottingUtil.toJSON(t.sitData)}};class l extends SuperMap.PlotCommonServiceBase{constructor(t,e){super(t,e),(e=e||{})&&SuperMap.Util.extend(this,e);var i=this;i.events=new SuperMap.Events(i,null,i.EVENT_TYPES,!0),i.eventListeners instanceof Object&&i.events.on(i.eventListeners),this.CLASS_NAME="SuperMap.EditSmlFileService"}destroy(){super.destroy()}processAsync(t){if(t){var e=this,i=t.method,o=e.url.substr(e.url.length-1,1);e.url+="/"==o?"smlInfos/":"/smlInfos/",e.url+=t.smlFileName+".json",e.url+="?isCover="+t.isCover;var l=null;t.method&&"POST"===t.method&&(l=SuperMap.EditSmlFileParameters.toJsonParameters(t)),e.request({method:i,data:l,scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}}}SuperMap.EditSmlFileService=l;class s extends SuperMap.PlotCommonServiceBase{constructor(t,e){super(t,e),(e=e||{})&&SuperMap.Util.extend(this,e);var i;i=this.url.substr(this.url.length-1,1),this.url+="/"==i?"symbolLibs.json?":"/symbolLibs.json?",this.CLASS_NAME="SuperMap.GetLibIDsService"}destroy(){super.destroy()}processAsync(){this.request({method:"GET",data:null,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}}SuperMap.GetLibIDsService=s;SuperMap.GetLibInfoParameter=class{constructor(t){t=t||{},this.libID=t.libID,this.CLASS_NAME="SuperMap.GetLibInfoParameter"}destroy(){this.libID=null}};class n extends SuperMap.PlotCommonServiceBase{constructor(t,e){super(t,e),(e=e||{})&&SuperMap.Util.extend(this,e);var i;i=this.url.substr(this.url.length-1,1),this.url+="/"==i?"symbolLibs/":"/symbolLibs/",this.CLASS_NAME="SuperMap.GetLibInfoService"}destroy(){super.destroy()}processAsync(t){var e=this;t&&null!==t.libID&&(e.libID=t.libID),e.url+=e.libID,e.url+=".json",e.request({method:"GET",data:null,scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}}SuperMap.GetLibInfoService=n;SuperMap.GetSMLInfosParameters=class{constructor(t){t=t||{},this.start=t.start,this.count=t.count?t.count:null,this.CLASS_NAME="SuperMap.GetSMLInfosParameters"}destroy(){this.start=null,this.count=null}static toUrlParameters(t){if(t){var e="";return null!==t.start&&(e="?start="+encodeURIComponent(t.start)),!t.count||null===t.count&&0===t.count||(e+="&count="+encodeURIComponent(t.count)),e}}};class a extends SuperMap.PlotCommonServiceBase{constructor(t,e){super(t,e),(e=e||{})&&SuperMap.Util.extend(this,e);var i,o=this;o.events=new SuperMap.Events(o,null,o.EVENT_TYPES,!0),o.eventListeners instanceof Object&&o.events.on(o.eventListeners),i=o.url.substr(o.url.length-1,1),o.url+="/"==i?"smlInfos":"/smlInfos",o.url+=".json",this.CLASS_NAME="SuperMap.GetSMLInfosService"}destroy(){super.destroy()}processAsync(t){if(t){var e=this;e.url+=SuperMap.GetSMLInfosParameters.toUrlParameters(t),e.request({method:"GET",data:null,scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}}}SuperMap.GetSMLInfosService=a;SuperMap.GetSymbolInfoParameters=class{constructor(t){t=t||{},this.libID=t.libID,this.code=t.code,this.inputPoints=t.inputPoints?t.inputPoints:null,this.symbolRank=t.symbolRank?t.symbolRank:0,this.negativeImage=!!t.negativeImage&&t.negativeImage,this.surroundLineType=t.surroundLineType?t.surroundLineType:0,this.subSymbols=t.subSymbols?t.subSymbols:null,this.scaleValues=t.scaleValues?t.scaleValues:null,this.scalePoints=t.scalePoints?t.scalePoints:null,this.newScalePoint=t.newScalePoint?t.newScalePoint:null,this.newScalePointIndex=t.newScalePointIndex?t.newScalePointIndex:0,this.CLASS_NAME="SuperMap.GetSymbolInfoParameters"}destroy(){var t=this;t.libID=null,t.code=null,t.inputPoints=null,t.symbolRank=null,t.negativeImage=null,t.surroundLineType=null,t.subSymbols=null,t.scaleValues=null,t.scalePoints=null,t.newScalePoint=null,t.newScalePointIndex=null}static toUrlParameters(t){if(t&&null!==t.libID&&null!==t.code){var e="libID="+encodeURIComponent(t.libID)+"&code="+encodeURIComponent(t.code);if(t.inputPoints&&null!==t.inputPoints&&0!==t.inputPoints.length){let i="[";for(let e=0;e0&&SuperMap.Plot.PlottingUtil.equalFuzzy(t.lat,this.latlngs[this.latlngs.length-1].lat)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t.lng,this.latlngs[this.latlngs.length-1].lng)||(!1===this.saveTrackingPoint&&-1!==this.trajectoryLength&&this.trajectoryLength>0?this.latlngs.length0&&this.latlngs.length>this.trajectoryLength&&(o+=this.latlngs.length-this.trajectoryLength);for(var l=o;lo&&(s=l),l=s;lMath.abs(e.y-e.y)?Math.abs(t.x-e.x):Math.abs(t.y-e.y)}}}createGradient(){var t=null;if(this.getContext()instanceof CanvasRenderingContext2D){var e=this.calculateObjectByBounds();if("LINEAR"===this.feature.style.fillGradientMode){var i=this.getGradientDirection(this.feature.style.fillAngle);if(t=this.getContext().createLinearGradient(e.ptMinX+e.width*i.x1,e.ptMinY+e.height*i.y1,e.ptMinX+e.width*i.x2,e.ptMinY+e.height*i.y2),0===this.feature.style.fillCenterOffsetX&&0===this.feature.style.fillCenterOffsetY)t.addColorStop(0,SuperMap.Plot.PlottingUtil.colorRGBA(this.feature.style.fillColor,this.feature.style.fillOpacity)),t.addColorStop(1,SuperMap.Plot.PlottingUtil.colorRGBA(this.feature.style.fillBackColor,this.feature.style.fillOpacity));else{var o=this.feature.style.fillAngle;0===o||180===o||90===o||270===o?(t.addColorStop(0,SuperMap.Plot.PlottingUtil.colorRGBA(this.feature.style.fillBackColor,this.feature.style.fillOpacity)),0!==o&&180!==o||t.addColorStop(this.feature.style.fillCenterOffsetX,SuperMap.Plot.PlottingUtil.colorRGBA(this.feature.style.fillColor,this.feature.style.fillOpacity)),90!==o&&270!==o||t.addColorStop(this.feature.style.fillCenterOffsetY,SuperMap.Plot.PlottingUtil.colorRGBA(this.feature.style.fillColor,this.feature.style.fillOpacity)),t.addColorStop(1,SuperMap.Plot.PlottingUtil.colorRGBA(this.feature.style.fillBackColor,this.feature.style.fillOpacity))):(t.addColorStop(0,SuperMap.Plot.PlottingUtil.colorRGBA(this.feature.style.fillBackColor,this.feature.style.fillOpacity)),t.addColorStop(this.feature.style.fillCenterOffsetX>=this.feature.style.fillCenterOffsetY?this.feature.style.fillCenterOffsetX:this.feature.style.fillCenterOffsetY*Math.cos(this.feature.style.fillAngle*Math.PI/180),SuperMap.Plot.PlottingUtil.colorRGBA(this.feature.style.fillColor,this.feature.style.fillOpacity)),t.addColorStop(1,SuperMap.Plot.PlottingUtil.colorRGBA(this.feature.style.fillBackColor,this.feature.style.fillOpacity)))}}if("RADIAL"===this.feature.style.fillGradientMode){var l=this.feature.style.fillCenterOffsetX*e.r,s=this.feature.style.fillCenterOffsetY*e.r,n=e.r/Math.sqrt(2)+Math.abs(l)>e.r/Math.sqrt(2)+Math.abs(s)?e.r/Math.sqrt(2)+Math.abs(l):e.r/Math.sqrt(2)+Math.abs(s);(t=this.getContext().createRadialGradient(e.center.x+l,e.center.y-s,0,e.center.x+l,e.center.y-s,n)).addColorStop(0,SuperMap.Plot.PlottingUtil.colorRGBA(this.feature.style.fillColor,this.feature.style.fillOpacity)),this.feature.style.fillColor,this.feature.style.fillBackColor,t.addColorStop(1,SuperMap.Plot.PlottingUtil.colorRGBA(this.feature.style.fillBackColor,this.feature.style.fillOpacity))}return t}}createTextureFill(t){if(0!==t.length){var e=document.createElement("canvas");document.body.appendChild(e);var i=e.getContext("2d");e.width=8,e.height=8;var o=e.width,l=e.height,s=SuperMap.Plot.PlottingUtil.colorStringToRGB(t[0].color);i.strokeStyle=`rgba(${s.red},${s.green},${s.blue},${t[0].opacity})`,i.lineWidth=1;var n=SuperMap.Plot.PlottingUtil.colorStringToRGB(t[1].color);switch(i.fillStyle=`rgba(${n.red},${n.green},${n.blue},${t[1].opacity})`,i.fillRect(0,0,e.width,e.height),i.beginPath(),t[0].fillID){case 0:case 1:break;case 2:i.moveTo(0,l),i.lineTo(o,0);break;case 3:i.moveTo(0,0),i.lineTo(o,0),i.moveTo(0,0),i.lineTo(0,l);break;case 4:i.moveTo(0,l),i.lineTo(o,0),i.moveTo(0,0),i.lineTo(o,l);break;case 5:i.moveTo(0,0),i.lineTo(o,l);break;case 6:i.moveTo(0,0),i.lineTo(o,0);break;case 7:i.moveTo(0,0),i.lineTo(0,l)}i.closePath(),i.stroke(),i.fill();var a=i.createPattern(e,"repeat");return document.body.removeChild(e),a}}createFillMode(t){if(void 0!==this.feature.style.fillSymbolID)if(t.fill=this.feature.style.fill,t.fillSymbolID=this.feature.style.fillSymbolID,0===this.feature.style.fillSymbolID||1===this.feature.style.fillSymbolID||!0===this.feature.style.fill||!1===this.feature.style.fill)0===this.feature.style.fillSymbolID?t.fill=!0:1===this.feature.style.fillSymbolID&&(t.fill=!1),t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity;else if(this.feature.style.fillColor!==this.feature.style.fillBackColor||this.feature.style.fillBackOpacity>0&&this.feature.style.fillBackOpacity<1){var e=[];e.push({fillID:this.feature.style.fillSymbolID,color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity},{fillID:this.feature.style.fillSymbolID,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillBackOpacity}),t.fill=!0,t.fillColor=this.createTextureFill(e),t.fillOpacity=this.feature.style.fillColor}else t.fill=!0,t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity;else t.fill=this.feature.style.fill,t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity}getGradientDirection(t){var e=function(t){return{x:Math.cos(t),y:Math.sin(t)}},i=function(t){return t*Math.PI/180},o=e(i(180-t%360)),l=e(i(360-t%360)),s=Math.pow(2,-52);return(o.x<=0||Math.abs(o.x)<=s)&&(o.x=0),(o.y<=0||Math.abs(o.y)<=s)&&(o.y=0),(l.x<=0||Math.abs(l.x)<=s)&&(l.x=0),(l.y<=0||Math.abs(l.y)<=s)&&(l.y=0),{x1:o.x,y1:o.y,x2:l.x,y2:l.y}}};SuperMap.Plot.CalculateSVGGradient=class{constructor(t){this.feature=t}destroy(){this.feature=null}createGradient(){var t=!1;this.feature.layer._renderer._container.defs||(this.feature.layer._renderer._container.defs=L.SVG.create("defs"),t=!0);var e=null;"LINEAR"===this.feature.style.fillGradientMode&&(e=document.getElementById("linearGradient_"+this.feature.uuid)),"RADIAL"===this.feature.style.fillGradientMode&&(e=document.getElementById("radialGradient_"+this.feature.uuid));var i=this.createGradientDirection();for("LINEAR"===this.feature.style.fillGradientMode?((e=null===e?L.SVG.create("linearGradient"):e).setAttributeNS(null,"x1",i.x1),e.setAttributeNS(null,"y1",i.y1),e.setAttributeNS(null,"x2",i.x2),e.setAttributeNS(null,"y2",i.y2)):"RADIAL"===this.feature.style.fillGradientMode&&((e=null===e?L.SVG.create("radialGradient"):e).setAttributeNS(null,"cx",i.cx),e.setAttributeNS(null,"cy",i.cy),e.setAttributeNS(null,"fx",i.fx),e.setAttributeNS(null,"fy",i.fy),e.setAttributeNS(null,"r",i.r));e.hasChildNodes();)e.removeChild(e.firstChild);for(var o=0,l=i.colors.length;o0&&this.feature.style.fillBackOpacity<1){var e=[];e.push({fillID:this.feature.style.fillSymbolID,color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity},{fillID:this.feature.style.fillSymbolID,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillBackOpacity}),this.feature._map.getRenderer(this.feature.layer)instanceof L.SVG?(t.fillOpacity=1,t.fillColor="url(#"+this.createTextureFill(e)+")",t.fill=t.fillColor):new SuperMap.Plot.CalculateCanvasGradient(this.feature,this.feature.getBounds()).createTextureFill(e)}else t.fill=!0,t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity;else t.fill=this.feature.style.fill,t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity}createGradientDirection(){var t=[];if("LINEAR"===this.feature.style.fillGradientMode){if(null!==this.feature.style.fillCenterOffsetX&&void 0!==this.feature.style.fillCenterOffsetX&&(0===this.feature.style.fillAngle||180===this.feature.style.fillAngle?(t.push({offset:0,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity}),t.push({offset:this.feature.style.fillCenterOffsetX,color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity}),t.push({offset:1,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity})):90===this.feature.style.fillAngle||270===this.feature.style.fillAngle?(t.push({offset:0,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity}),t.push({offset:this.feature.style.fillCenterOffsetY,color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity}),t.push({offset:1,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity})):(t.push({offset:0,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity}),t.push({offset:this.feature.style.fillCenterOffsetX/2*(Math.sqrt(2)/2)*Math.abs(Math.sin(this.feature.style.fillAngle*Math.PI/180)),color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity}),t.push({offset:1,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity}))),this.feature.style.fillAngle>=360&&(this.feature.style.fillAngle=0),0===this.feature.style.fillAngle)return{x1:0,y1:0,x2:1,y2:0,colors:t};if(90===this.feature.style.fillAngle)return{x1:0,y1:1,x2:0,y2:0,colors:t};if(180===this.feature.style.fillAngle)return{x1:1,y1:0,x2:0,y2:0,colors:t};if(270===this.feature.style.fillAngle)return{x1:0,y1:0,x2:0,y2:1,colors:t};if(0=0||this.feature.style.fillCenterOffsetX<=0&&this.feature.style.fillCenterOffsetX>=-1){if(this.feature.style.fillCenterOffsetY>=0&&this.feature.style.fillCenterOffsetY<=.5||this.feature.style.fillCenterOffsetY>=-.5&&this.feature.style.fillCenterOffsetY<=0)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:.5*Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.5&&this.feature.style.fillCenterOffsetY<=.8||this.feature.style.fillCenterOffsetY>=-.8&&this.feature.style.fillCenterOffsetY<=-.5)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:.8*Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.8&&this.feature.style.fillCenterOffsetY<=1||this.feature.style.fillCenterOffsetY>=-1&&this.feature.style.fillCenterOffsetY<=-.8)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t}}else if(this.feature.style.fillCenterOffsetX<=.8&&this.feature.style.fillCenterOffsetX>.5||this.feature.style.fillCenterOffsetX<=-.5&&this.feature.style.fillCenterOffsetX>=-.8){if(this.feature.style.fillCenterOffsetY>=0&&this.feature.style.fillCenterOffsetY<=.5||this.feature.style.fillCenterOffsetY>=-.5&&this.feature.style.fillCenterOffsetY<=0)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:.8*Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.5&&this.feature.style.fillCenterOffsetY<=.8||this.feature.style.fillCenterOffsetY>=-.8&&this.feature.style.fillCenterOffsetY<=-.5)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:.8*Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.8&&this.feature.style.fillCenterOffsetY<=1||this.feature.style.fillCenterOffsetY>=-1&&this.feature.style.fillCenterOffsetY<=-.8)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t}}else if(this.feature.style.fillCenterOffsetX<=1&&this.feature.style.fillCenterOffsetX>.8||this.feature.style.fillCenterOffsetX<=-.8&&this.feature.style.fillCenterOffsetX>=-1){if(this.feature.style.fillCenterOffsetY>=0&&this.feature.style.fillCenterOffsetY<=.5||this.feature.style.fillCenterOffsetY>=-.5&&this.feature.style.fillCenterOffsetY<=0)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.5&&this.feature.style.fillCenterOffsetY<=.8||this.feature.style.fillCenterOffsetY>=-.8&&this.feature.style.fillCenterOffsetY<=-.5)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.8&&this.feature.style.fillCenterOffsetY<=1||this.feature.style.fillCenterOffsetY>=-1&&this.feature.style.fillCenterOffsetY<=-.8)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t}}}}; /* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved. * This program are made available under the terms of the Apache License, Version 2.0 * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/ class h{constructor(t,e,i,o){this.x=parseFloat(t),this.y=parseFloat(e),this.tag=o||0==o?parseFloat(o):null,this.type=i||"Point",this.CLASS_NAME="SuperMapAlgoPlot"}clone(t){return null==t&&(t=new h(this.x,this.y)),SuperMap.Util.applyDefaults(t,this),t}calculateBounds(){this.bounds=new Bounds(this.x,this.y,this.x,this.y)}equals(t){var e=!1;return null!=t&&(e=this.x===t.x&&this.y===t.y||isNaN(this.x)&&isNaN(this.y)&&isNaN(t.x)&&isNaN(t.y)),e}move(t,e){this.x=this.x+t,this.y=this.y+e,this.clearBounds()}toShortString(){return this.x+", "+this.y}destroy(){this.x=null,this.y=null,this.tag=null,super.destroy()}getVertices(t){return[this]}}SuperMapAlgoPlot.Point=h;SuperMapAlgoPlot.AnalysisSymbol=SuperMapAlgoPlot.AnalysisSymbol||{};SuperMapAlgoPlot.AnalysisSymbol.analysisBasicInfo=function(t){let e=new Object;return e.libID=t.libID,e.code=t.code,e.symbolType=t.symbolType,e.symbolName=t.symbolName,e.textContent=t.textContent,e.minEditPts=t.algoMinEditPts,e.maxEditPts=t.algoMaxEditPts,e.surroundLineType=t.surroundLineType,e},SuperMapAlgoPlot.AnalysisSymbol.analysisDotBasicInfo=function(t){let e=SuperMapAlgoPlot.PlottingUtil.DPI,i=new Object;i.anchorPoint=new SuperMapAlgoPlot.Point(t.anchorPoint.x,t.anchorPoint.y);let o=0,l=0;return void 0!==t.symbolSizeInLib?(o=Math.round(t.symbolSizeInLib.x*e/25.4/10),l=Math.round(t.symbolSizeInLib.y*e/25.4/10)):(o=Math.round(t.symbolSize.x*e/25.4/10),l=Math.round(t.symbolSize.y*e/25.4/10)),i.symbolSizeInLib=new SuperMap.Size(o,l),i.symbolSizeInLib.w=o,i.symbolSizeInLib.h=l,t.middleMarkBounds&&(i.middleMarkBounds=new SuperMap.Bounds(t.middleMarkBounds.leftBottom.x,t.middleMarkBounds.leftBottom.y,t.middleMarkBounds.rightTop.x,t.middleMarkBounds.rightTop.y)),i},SuperMapAlgoPlot.AnalysisSymbol.analysisAlgoBasicInfo=function(t,e){let i=new Object;if(i.subSymbols=[],i.scalePoints=[],i.scaleValues=[],e&&t.subSymbols)for(let e=0;ei?e.scaleValues[i]=t.scaleValues[i]:e.scaleValues.push(t.scaleValues[i]);else e.scaleValues=[],e.scaleValues=t.scaleValues;e.visible=t.visible,e.orbitPoints=t.orbitPoints}else if(0===t.libID&&t.symbolType===SuperMapAlgoPlot.SymbolType.SATELLITETIMEWINDOWS)e.timeWindows=t.timeWindows;else{let o;o=!0===i?L.Util.latLngsToSuperMapPoints(t.getLatLngs()):t.controlPoints,e.localePoints=[];let l=o.length;t.symbolType===SuperMapAlgoPlot.SymbolType.ELLIPSESYMBOL&&(l=3);for(let t=0;ti?e.scaleValues[i]=t.scaleValues[i]:e.scaleValues.push(t.scaleValues[i]);else e.scaleValues=[],e.scaleValues=t.scaleValues;e.subSymbolScaleValue=t.subSymbolScaleValue,e.baseScale=t.baseScale,e.strokeWidth=t.strokeWidth,e.polylineConnectLocationPoint=t.polylineConnectLocationPoint,22===t.libID&&t.symbolType===SuperMapAlgoPlot.SymbolType.ALGOSYMBOL?(e.arrowHeadType=t.arrowHeadType,e.arrowBodyType=t.arrowBodyType,e.arrowTailType=t.arrowTailType):0===t.libID&&t.symbolType===SuperMapAlgoPlot.SymbolType.ARROWLINE?e.arrowAngle=t.arrowAngle:0===t.libID&&t.symbolType===SuperMapAlgoPlot.SymbolType.COMBINATIONALCIRCLE?e.defaultRadius=t.defaultRadius:0===t.libID&&t.symbolType===SuperMapAlgoPlot.SymbolType.CONCENTRICCIRCLE||(0===t.libID&&t.symbolType===SuperMapAlgoPlot.SymbolType.LINEMARKING?(e.islocationCircle=t.islocationCircle,e.textBoxType=t.textBoxType):0===t.libID&&t.symbolType===SuperMapAlgoPlot.SymbolType.SYMBOLTEXTBOX?(e.roundBox=t.roundBox,e.textBoxType=t.textBoxType):0===t.libID&&t.symbolType===SuperMapAlgoPlot.SymbolType.PATHTEXT?(e.isAvoid=t.isAvoid,e.isCurve=t.isCurve,e.relLineText=t.relLineText,e.showPathLine=t.showPathLine,e.textToLineDistance=t.textToLineDistance,e.showPathLineArrow=t.showPathLineArrow):0===t.libID&&t.symbolType===SuperMapAlgoPlot.SymbolType.ARCREGION&&(i?(e.centerPoint={x:t.centerPoint.lng,y:t.centerPoint.lat},e.circlePts=t.circlePts,e.spatialAnalystUrl=t.spatialAnalystUrl):e.centerPoint=t.centerPoint,e.endAngle=t.endAngle,e.radius=t.radius,e.radiusPosAngle=t.radiusPosAngle,e.startAngle=t.startAngle,e.textPosition=t.textPosition,e.radiusLineType=t.radiusLineType,e.radiusText=t.radiusText))}}t.symbolData=e},SuperMapAlgoPlot.AnalysisSymbol.parseSymbolData=function(t,e,i){if(null!=e){if(null!=e.isEdit&&(t.isEdit=e.isEdit),Object.prototype.hasOwnProperty.call(e,"version")&&(t.version=e.version),Object.prototype.hasOwnProperty.call(e,"libID")&&(t.libID=parseInt(e.libID)),Object.prototype.hasOwnProperty.call(e,"code")&&(t.code=parseInt(e.code)),Object.prototype.hasOwnProperty.call(e,"algoMaxEditPts")&&(t.maxEditPts=parseInt(e.algoMaxEditPts)),Object.prototype.hasOwnProperty.call(e,"algoMinEditPts")&&(t.minEditPts=parseInt(e.algoMinEditPts)),Object.prototype.hasOwnProperty.call(e,"symbolType")&&(t.symbolType=parseInt(e.symbolType)),Object.prototype.hasOwnProperty.call(e,"symbolName")&&(t.symbolName=e.symbolName),Object.prototype.hasOwnProperty.call(e,"textContent")&&(t.textContent=e.textContent),Object.prototype.hasOwnProperty.call(e,"bubbleHeight")&&(t.bubbleHeight=e.bubbleHeight),Object.prototype.hasOwnProperty.call(e,"bubbleWidth")&&(t.bubbleWidth=e.bubbleWidth),Object.prototype.hasOwnProperty.call(e,"description")&&(t.description=e.description),Object.prototype.hasOwnProperty.call(e,"mediaList")&&(t.mediaList=e.mediaList),null!=e.dScale?t.dScale=e.dScale:void 0!==e.scale2D&&(t.dScale=e.scale2D.x),null!=e.dRotate?t.dRotate=e.dRotate:void 0!==e.rotate2D&&(t.dRotate=e.rotate2D.x),null!=e.resolution&&(t.resolution=e.resolution),null!=e.uuid&&(t.uuid=e.uuid),null!=e.associatedUuid&&(t.associatedUuid=e.associatedUuid),null!=e.textDisplay&&(t.textDisplay=e.textDisplay),null!=e.annotationPosition&&(i?t.annotationPosition=e.annotationPosition:t.textPosition=e.annotationPosition),null!=e.scaleByMap&&(t.scaleByMap=e.scaleByMap),void 0!==e.isLocked&&(t.isLocked=e.isLocked),void 0!==e.note&&(t.note=e.note),void 0!==e.custom&&(t.custom=e.custom),e.extendProperty)for(let i=0;i255?e++:i++;return e+i/2},SuperMapAlgoPlot.PlottingUtil.toJSON=function(t){var e=t;if(null==e)return null;switch(e.constructor){case String:return e=(e=(e=(e=(e=(e=(e='"'+e.replace(/(["\\])/g,"\\$1")+'"').replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace("<","<")).replace(">",">")).replace(/%/g,"%2525")).replace(/&/g,"%26");case Array:for(var i=[],o=0,l=e.length;o0?"{"+t.join(",")+"}":"{}"}return e.toString()}},SuperMapAlgoPlot.PlottingUtil.copyFeature=function(t){var e=null;if(null!=t&&t.geometry){let i=t.geometry.clone();e=new SuperMap.Feature.Vector(i),t.style&&(e.style=SuperMapAlgoPlot.PlottingUtil.copyAttributes(e.style,t.style)),i.feature=e,i.calculateParts()}return e},SuperMapAlgoPlot.PlottingUtil.inverse=function(t){for(var e=[],i=t.length-1;i>=0;i--)e.push(t[i]);return e},SuperMapAlgoPlot.PlottingUtil.getSurroundLinePts=function(t,e){var i=[],o=[];for(let l=0;l2*i?o.push(n):(o[o.length-1]=e,o.push(n))}else o.push(n)}else o.push(s),o.push(n);(i=[]).push(o[o.length-2]),i.push(o[o.length-1])}if(t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y&&1Math.PI&&(o-=2*Math.PI),o}if(t.length<3)return 1;let i=0,o={x:0,y:0},l={x:0,y:0};for(let s=2;s=0?-1:1},SuperMapAlgoPlot.PlottingUtil.isNear=function(t,e){return e||(e=SuperMapAlgoPlot.PlottingUtil.TORLERANCE_STATIC),t-e},SuperMapAlgoPlot.PlottingUtil.equalFuzzy=function(t,e,i){return i||(i=1e-18),Math.abs(t-e)<=i},SuperMapAlgoPlot.PlottingUtil.intersectLines=function(t,e,i,o){var l={isIntersectLines:!1};if(t.x===e.x&&t.y===e.y||i.x===o.x&&i.y===o.y)return l;let s=e.x-t.x,n=e.y-t.y,a=o.x-i.x,r=o.y-i.y,p=s*r-a*n;if(SuperMapAlgoPlot.PlottingUtil.isNear(p))return l;let u=(s*(t.y-i.y)-n*(t.x-i.x))/p,h=new SuperMapAlgoPlot.Point(0,0);return h.x=u*a+i.x,h.y=u*r+i.y,l.isIntersectLines=!0,l.intersectPoint=h,l},SuperMap.Plot.PlottingUtil.limitSigDigs=function(t,e){var i=0;if(e>0){var o=new Number(t);i=parseFloat(o.toPrecision(e))}return i},SuperMap.Plot.PlottingUtil.containsPoint=function(t,e){for(var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t.components),o=SuperMap.Plot.PlottingUtil.distance(i,e),l=0,s=SuperMap.Plot.PlottingUtil.radian(e,t.components[0]),n=1;na&&(s=a,l=n)}return o=0;i--)e.push(t[o][i]);t.splice(o,1);let i=l(t,e);if(void 0!==i&&0!==i.length)return i}return e}if(SuperMapAlgoPlot.PlottingUtil.isArray(t)||(t=[t]),0===t.length)return[];if(1===t.length)return t[0];for(let i=0;i2&&a.push(t)}return a},SuperMapAlgoPlot.PlottingUtil.isRight=function(t,e,i){let o=e,l=i,s=e,n=t;return(l.x-o.x)*(n.y-s.y)-(n.x-s.x)*(l.y-o.y)<0},SuperMapAlgoPlot.PlottingUtil.radian=function(t,e){let i,o,l=0;return i=e.x-t.x,o=e.y-t.y,(l=Math.atan2(o,i))<0&&(l+=2*Math.PI),l},SuperMapAlgoPlot.PlottingUtil.findBisectorPoint=function(t,e,i,o){let l=SuperMapAlgoPlot.PlottingUtil.radian(e,t),s=(l+SuperMapAlgoPlot.PlottingUtil.radian(e,i))/2,n=Math.cos(s-l+Math.PI/2),a=o;SuperMapAlgoPlot.PlottingUtil.isNear(n,.15)||(a=o/n);let r=e.x+a*Math.cos(s),p=e.y+a*Math.sin(s);return new SuperMapAlgoPlot.Point(r,p)},SuperMapAlgoPlot.PlottingUtil.findPoint=function(t,e,i,o){if(t===e||Math.abs(i)<1e-18)return t;let l=SuperMapAlgoPlot.PlottingUtil.radian(t,e)+o*Math.PI/180;var s=t.x+i*Math.cos(l),n=t.y+i*Math.sin(l);return new SuperMapAlgoPlot.Point(s,n)},SuperMapAlgoPlot.PlottingUtil.isSameQuadrant=function(t,e,i,o){let l=(e.x-t.x)*(o.x-i.x),s=(e.y-t.y)*(o.y-i.y);return!(Math.abs(l)<1e-18&&Math.abs(s)<1e-18)&&((l>0||Math.abs(l)<1e-18)&&(s>0||Math.abs(s)<1e-18))},SuperMapAlgoPlot.PlottingUtil.isCross=function(t,e,i,o){let l=new SuperMapAlgoPlot.Point(0,0);return!(!SuperMapAlgoPlot.PlottingUtil.intersectLineSegs(t,e,i,o,l)||l==t||l===e||l===i||l==o)},SuperMapAlgoPlot.PlottingUtil.intersectLineSegs=function(t,e,i,o,l){if(SuperMapAlgoPlot.PlottingUtil.equalFuzzy(t.x,e.x)&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(t.y,e.y))return l.x=t.x,l.y=t.y,!1;if(SuperMapAlgoPlot.PlottingUtil.equalFuzzy(i.x,o.x)&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(i.y,o.y))return l.x=i.x,l.y=i.y,!1;let s=0,n=0;if(s=t.x>e.x?t.x:e.x,n=t.x1e-16&&o.x-s>1e-16||i.x-n<-1e-16&&o.x-n<-1e-16)return!1;if(s=t.y>e.y?t.y:e.y,n=t.y1e-16&&o.y-s>1e-16||i.y-n<-1e-16&&o.y-n<-1e-16)return!1;let a=e.x-t.x,r=e.y-t.y,p=o.x-i.x,u=o.y-i.y,h=t.x-i.x,g=t.y-i.y,c=a*u-p*r,y=c;if(Math.abs(a)>1e-18&&Math.abs(p)>1e-18&&(y/=a*p),Math.abs(y)<1e-18)return t===i?(l.x=t.x,l.y=t.y,!SuperMapAlgoPlot.PlottingUtil.isSameQuadrant(t,e,i,o)):e===o?(l.x=e.x,l.y=e.y,!SuperMapAlgoPlot.PlottingUtil.isSameQuadrant(t,e,i,o)):t===o?(l.x=t.x,l.y=t.y,SuperMapAlgoPlot.PlottingUtil.isSameQuadrant(t,e,i,o)):e===i&&(l.x=e.x,l.y=e.y,SuperMapAlgoPlot.PlottingUtil.isSameQuadrant(t,e,i,o));let P=(a*g-r*h)/c,S=(p*g-u*h)/c;return!(P<0&&(Math.abs(P*p)>1e-16||Math.abs(P*u)>1e-16))&&(!(P>1&&(Math.abs((P-1)*p)>1e-16||Math.abs((P-1)*u)>1e-16))&&(!(S<0&&(Math.abs(S*a)>1e-16||Math.abs(S*r)>1e-16))&&(!(S>1&&(Math.abs((S-1)*a)>1e-16||Math.abs((S-1)*r)>1e-16))&&(Math.abs(P)<1e-18?(l.x=i.x,l.y=i.y,!0):Math.abs(P-1)<1e-18?(l.x=o.x,l.y=o.y,!0):Math.abs(S)<1e-18?(l.x=t.x,l.y=t.y,!0):Math.abs(S-1)<1e-18?(l.x=e.x,l.y=e.y,!0):!(P<0&&(Math.abs(P*p)>1e-16||Math.abs(P*u)>1e-16))&&(!(P>1&&(Math.abs((P-1)*p)>1e-16||Math.abs((P-1)*u)>1e-16))&&(!(S<0&&(Math.abs(S*a)>1e-16||Math.abs(S*r)>1e-16))&&(!(S>1&&(Math.abs((S-1)*a)>1e-16||Math.abs((S-1)*r)>1e-16))&&(l.x=P*p+i.x,l.y=P*u+i.y,!0))))))))},SuperMapAlgoPlot.PlottingUtil.parallel=function(t,e){let i=[],o=t.length;if(!t||null==t||t.length<2)return i;let l=!1;t.length>3&&t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y&&(l=!0),l?(i[0]=SuperMapAlgoPlot.PlottingUtil.findBisectorPoint(t[t.length-2],t[0],t[1],e),i[t.length-1]=i[0]):(i[0]=SuperMapAlgoPlot.PlottingUtil.findPoint(t[0],t[1],e,90),i[t.length-1]=SuperMapAlgoPlot.PlottingUtil.findPoint(t[t.length-1],t[t.length-2],-e,90));let s=t[0],n=t[1],a=t[1];for(let l=1;l1&&(n=1);let a=(i.x-e.x)*n+e.x,r=(i.y-e.y)*n+e.y,p=(a-t.x)*(a-t.x)+(r-t.y)*(r-t.y);return Math.sqrt(p)},SuperMapAlgoPlot.PlottingUtil.isCounterClockwise=function(t,e,i){return(i.x-e.x)*(t.y-e.y)-(t.x-e.x)*(i.y-e.y)>0},SuperMapAlgoPlot.PlottingUtil.clearSamePts=function(t){let e=t.length;for(let i=0;i1e-10},SuperMapAlgoPlot.PlottingUtil.generateBeizerPointsNoCtrlPt=function(t,e){let i=t.slice();!0===e&&i.push(i[0]);let o=[],l=[];for(let t=0;t-360&&i[t+1].x-i[0].x<-180&&o.push(t+1),i[t+1].x-i[0].x<360&&i[t+1].x-i[0].x>180&&l.push(t+1);if(l.length>o.length)for(let t=0;t180?n[t].x=n[t].x-360:n[t].x<-180&&(n[t].x=n[t].x+360);return n},SuperMapAlgoPlot.PlottingUtil.generateBeizerPointsWithCtrlPt=function(t){let e=t.length,i=[];if(t.length<3)for(let o=0;o=e)continue;let l=t[o].x,s=t[o].y,n=t[o+2].x,a=t[o+2].y,r=t[o+4].x,p=t[o+4].y,u=t[o+3].x,h=t[o+3].y;if(SuperMapAlgoPlot.PlottingUtil.equalFuzzy(l,n,1e-10)&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(s,a,1e-10)&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(r,u,1e-10)&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(p,h,1e-10))i.push(new SuperMapAlgoPlot.Point(l,s)),i.push(new SuperMapAlgoPlot.Point(r,p));else for(let t=0;t<=1;t+=.03125){let e,o,g,c,y=t*t,P=y*t;e=1-3*t+3*y-P,o=3*(t-2*y+P),g=3*(y-P),c=P;let S=new SuperMapAlgoPlot.Point(e*l+o*n+g*r+c*u,e*s+o*a+g*p+c*h);i.push(S)}}return i},SuperMapAlgoPlot.PlottingUtil.computeBeizerPoints0=function(t,e,i){let o=SuperMapAlgoPlot.PlottingUtil.polylineDistance(e),l=[],s=[],n=[];if(t){s.push(e[0]);let t=i[0],a=i[1],r=e[0].x+o*t,p=e[0].y+o*a;s.push(new SuperMapAlgoPlot.Point(r,p)),l.push(new SuperMapAlgoPlot.Point(r,p));for(let t=1;t0?(u=e+(o-e)*c/g,h=i+(l-i)*c/g):(u=e,h=i),a.x=u+(r-u)*t,a.y=h+(p-h)*t,a},SuperMapAlgoPlot.PlottingUtil.pointIsOnPolyLine=function(t,e,i){if(SuperMapAlgoPlot.PlottingUtil.equalFuzzy(t.x,e.x)&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(t.y,e.y)||SuperMapAlgoPlot.PlottingUtil.equalFuzzy(t.x,i.x)&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(t.y,i.y))return!0;let o=t.x-e.x,l=t.y-e.y,s=t.x-i.x,n=t.y-i.y,a=(o*s+l*n)/(Math.sqrt(o*o+l*l)*Math.sqrt(s*s+n*n));return!!SuperMapAlgoPlot.PlottingUtil.equalFuzzy(a,-1,.1)},SuperMapAlgoPlot.PlottingUtil.pointIsOnPolyLines=function(t,e){if(!e||0===e.length)return{isOnPolyLine:!1,index:-1};let i=!1,o=-1;for(let l=0;lr&&(i=r,o=l)}return o&&i<0&&(o=-1),{minDis:i,index:o}},SuperMapAlgoPlot.PlottingUtil.findPointInLine=function(t,e,i){if(t===e||Math.abs(i)<1e-18)return t;let o=e.x-t.x,l=e.y-t.y,s=i/Math.sqrt(o*o+l*l),n=t.x+o*s,a=t.y+l*s;return new SuperMapAlgoPlot.Point(n,a)},SuperMapAlgoPlot.PlottingUtil.operateControlPoints=function(t){let e=t,i=e.length;if(3==i){let i=new SuperMapAlgoPlot.Point(0,0);SuperMapAlgoPlot.PlottingUtil.getTrapezoidPoints(1,t[0],t[1],t[2],i),e.push(i)}if(i>4&&(e.splice(4,i-4),i=e.length),SuperMapAlgoPlot.PlottingUtil.pointIsRightToLine(t[0],t[1],e[2])){let t=e[0];e[0]=e[1],e[1]=t}if(!SuperMapAlgoPlot.PlottingUtil.pointIsRightToVerticle(e[0],e[1],e[2])){let t=e[2];e[2]=e[3],e[3]=t}return e},SuperMapAlgoPlot.PlottingUtil.pointIsRightToLine=function(t,e,i){return(e.x-t.x)*(i.y-t.y)-(i.x-t.x)*(e.y-t.y)<0},SuperMapAlgoPlot.PlottingUtil.pointIsRightToVerticle=function(t,e,i){let o=new SuperMapAlgoPlot.Point(.5*(e.x+t.x),.5*(e.y+t.y)),l=new SuperMapAlgoPlot.Point(e.x-t.x,e.y-t.y),s=new SuperMapAlgoPlot.Point(i.x-o.x,i.y-o.y);return l.x*s.x+l.y*s.y>0},SuperMapAlgoPlot.PlottingUtil.linePnt=function(t,e,i){let o=SuperMapAlgoPlot.PlottingUtil.distance(t,e);if(0==o)return t;{let l=i/o;return SuperMapAlgoPlot.PlottingUtil.findPointOnLineByRatio(l,t,e)}},SuperMapAlgoPlot.PlottingUtil.findPointOnLineByRatio=function(t,e,i){let o=new SuperMapAlgoPlot.Point(0,0);return o.x=e.x+(i.x-e.x)*t,o.y=e.y+(i.y-e.y)*t,o},SuperMapAlgoPlot.PlottingUtil.rotateAngle=function(t,e,i){let o=e,l=Math.cos(o),s=Math.sin(o),n=i.x-t.x,a=i.y-t.y;return i.x=n*l-a*s+t.x,i.y=n*s+a*l+t.y,i},SuperMapAlgoPlot.PlottingUtil.resize=function(t,e,i){return i.x=t.x+e*(i.x-t.x),i.y=t.y+e*(i.y-t.y),i},SuperMapAlgoPlot.PlottingUtil.findPointInPolyLine=function(t,e){if(e<0||t.length<2)return{index:-1,pt:null};if(Math.abs(e)<1e-18)return{index:0,pt:t[0]};let i=0;for(let o=0;oe||SuperMapAlgoPlot.PlottingUtil.equalFuzzy(i,e)){let l=i-e,s=t[o+1],n=t[o],a=l/SuperMapAlgoPlot.PlottingUtil.distance(s,n),r=new SuperMapAlgoPlot.Point(0,0);return r.x=s.x+(n.x-s.x)*a,r.y=s.y+(n.y-s.y)*a,{index:o,pt:r}}return{index:-1,pt:null}},SuperMapAlgoPlot.PlottingUtil.polylineDistance=function(t){if(0===t.length)return 0;let e=0;for(let i=0;i=t.x&&e.y>=t.y?1:e.xt.y?2:e.x<=t.x&&e.y<=t.y?3:4)==(l=i.x>t.x&&i.y>t.y?1:i.xt.y?2:i.xs&&a>s)&&(r=0);else switch(o){case 1:(4==l&&ns)&&(r=0);break;case 2:(1==l&&ns)&&(r=0);break;case 3:(2==l&&ns)&&(r=0);break;case 4:(3==l&&ns)&&(r=0)}let p=new SuperMapAlgoPlot.Point(0,0);return SuperMapAlgoPlot.PlottingUtil.equalFuzzy(s-1.7976931348623157e308,0)?(p.x=t.x,p.y=e.y):SuperMapAlgoPlot.PlottingUtil.equalFuzzy(s,0)?(p.x=e.x,p.y=t.y):(p.x=(s*(e.y-t.y)+s*s*t.x+e.x)/(s*s+1),p.y=t.y+s*(p.x-t.x)),{isOnline:1===r,projectPoint:p}},SuperMapAlgoPlot.PlottingUtil.coordinateTrans=function(t,e,i){let o=SuperMapAlgoPlot.PlottingUtil.distance(new SuperMapAlgoPlot.Point(0,0),e),l=SuperMapAlgoPlot.PlottingUtil.radian(new SuperMapAlgoPlot.Point(0,0),e)+i*Math.PI/180,s=o*Math.cos(l)+t.x,n=o*Math.sin(l)+t.y;return new SuperMapAlgoPlot.Point(s,n)},SuperMapAlgoPlot.PlottingUtil.triangleHeightAndPartBottomLen=function(t,e,i){let o,l,s=(i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y),n=Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y)),a=Math.sqrt((t.x-i.x)*(t.x-i.x)+(t.y-i.y)*(t.y-i.y));if(0==a||0==n)o=0,l=0;else if(0==s)o=n,l=0;else{let t=(n*n+a*a-s)/2/n/a,e=0;t>=1?(t=1,e=0):e=Math.sqrt(1-t*t),o=a*t,l=a*e}return{dLen1:o,dLen2:l}},SuperMapAlgoPlot.PlottingUtil.paraLine=function(t,e,i){let o=[];if(2>t.length)return o;if(i){let i=t[1].clone();i=SuperMapAlgoPlot.PlottingUtil.rotateAngle(t[0],Math.PI/2,i),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(t[0],i,e));for(let l=1;lMath.PI/2?r-Math.PI/2:Math.PI/2-r;let p=e/Math.cos(a);i=t[l+1].clone(),i=SuperMapAlgoPlot.PlottingUtil.rotateAngle(t[l],r,i),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(t[l],i,p))}i=t[t.length-2].clone(),i=SuperMapAlgoPlot.PlottingUtil.rotateAngle(t[t.length-1],-1*Math.PI/2,i),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(t[t.length-1],i,e))}else{let i=t[1].clone();i=SuperMapAlgoPlot.PlottingUtil.rotateAngle(t[0],-Math.PI/2,i),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(t[0],i,e));for(let l=1;lMath.PI/2?r-Math.PI/2:Math.PI/2-r;let p=e/Math.cos(a);i=t[l-1].clone(),i=SuperMapAlgoPlot.PlottingUtil.rotateAngle(t[l],r,i),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(t[l],i,p))}i=t[t.length-2].clone(),i=SuperMapAlgoPlot.PlottingUtil.rotateAngle(t[t.length-1],Math.PI/2,i),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(t[t.length-1],i,e))}return o},SuperMapAlgoPlot.PlottingUtil.circlePoint=function(t,e,i,o){o*=Math.PI/180;let l=t.x+e*Math.cos(o),s=t.y+i*Math.sin(o);return new SuperMapAlgoPlot.Point(l,s)},SuperMapAlgoPlot.PlottingUtil.getPolygonCenterPt=function(t){if(!t||0===t.length)return null;let e=0,i=0;for(let o=0;on.y?s.y:n.y;e.yr||(e.y-s.y)*(n.x-s.x)/(n.y-s.y)+s.x>e.x&&i++}return i%2==1},SuperMapAlgoPlot.PlottingUtil.projectPtOnPolyLine=function(t,e){if(2>e.length)return{index:-1,pt:null};for(let i=0;i0?0:1},SuperMapAlgoPlot.PlottingUtil.isSamePt=function(t,e){return!(!SuperMapAlgoPlot.PlottingUtil.equalFuzzy(t.x,e.x)||!SuperMapAlgoPlot.PlottingUtil.equalFuzzy(t.y,e.y))},SuperMapAlgoPlot.PlottingUtil.getPtsIndexByDistance=function(t,e){let i=SuperMapAlgoPlot.PlottingUtil.findPointInPolyLine(e,t);return{index:i.index,pts:i.pt,bfind:-1!==i.index}},SuperMapAlgoPlot.PlottingUtil.ptInBounds=function(t,e){return t.x>e.left&&t.xe.bottom},SuperMapAlgoPlot.PlottingUtil.InnerAngle=function(t,e,i){if(t==e||t==i)return 0;let o=SuperMapAlgoPlot.PlottingUtil.distance(t,e),l=SuperMapAlgoPlot.PlottingUtil.distance(t,i),s=SuperMapAlgoPlot.PlottingUtil.distance(e,i),n=(o*o+l*l-s*s)/(2*o*l);return n>1&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(n,1)?n=1:n<1&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(n,-1)&&(n=-1),Math.acos(n)},SuperMapAlgoPlot.PlottingUtil.plumbLineLen=function(t,e,i){return SuperMapAlgoPlot.PlottingUtil.distance(t,e)*Math.sin(SuperMapAlgoPlot.PlottingUtil.InnerAngle(e,t,i))},SuperMapAlgoPlot.PlottingUtil.paraPolygon=function(t,e,i){let o=[],l=SuperMapAlgoPlot.PlottingUtil.clonePoints(t),s=l.length;if(s<2)return o;let n=new SuperMapAlgoPlot.Point(0,0);if(i){if(s<3)n=l[1].clone(),SuperMapAlgoPlot.PlottingUtil.rotateAngle(l[0],Math.PI,n),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(l[0],n,e));else{let t=SuperMapAlgoPlot.PlottingUtil.radian(l[0],l[1]),i=SuperMapAlgoPlot.PlottingUtil.radian(l[0],l[l.length-1])-t;for(;i<0;)i+=2*Math.PI;let s,a=i/2;s=a>Math.PI/2?a-Math.PI/2:Math.PI/2-a;let r=e/Math.cos(s);n=l[1].clone(),n=SuperMapAlgoPlot.PlottingUtil.rotateAngle(l[0],a,n),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(l[0],n,r))}for(let t=1;tMath.PI/2?r-Math.PI/2:Math.PI/2-r;let p=e/Math.cos(a);n=l[t+1].clone(),n=SuperMapAlgoPlot.PlottingUtil.rotateAngle(l[t],r,n),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(l[t],n,p))}if(s<3)n=l[s-2].clone(),SuperMapAlgoPlot.PlottingUtil.rotateAngle(l[s-1],0,n),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(l[s-1],n,e));else{let t=SuperMapAlgoPlot.PlottingUtil.radian(l[s-1],l[0]),i=SuperMapAlgoPlot.PlottingUtil.radian(l[s-1],l[s-2])-t;for(;i<0;)i+=2*Math.PI;let a,r=i/2;a=r>Math.PI/2?r-Math.PI/2:Math.PI/2-r;let p=e/Math.cos(a);n=l[0].clone(),n=SuperMapAlgoPlot.PlottingUtil.rotateAngle(l[s-1],r,n),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(l[s-1],n,p))}}else{if(s<3){let t=l[1].clone();SuperMapAlgoPlot.PlottingUtil.rotateAngle(l[0],0,t),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(l[0],t,e))}else{let t=SuperMapAlgoPlot.PlottingUtil.radian(l[0],l[1]),i=SuperMapAlgoPlot.PlottingUtil.radian(l[0],l[s-1])-t;for(;i<0;)i+=2*Math.PI;let a,r=Math.PI-i/2;a=r>Math.PI/2?r-Math.PI/2:Math.PI/2-r;let p=e/Math.cos(a);n=l[s-1].clone(),n=SuperMapAlgoPlot.PlottingUtil.rotateAngle(l[0],r,n),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(l[0],n,p))}for(let t=1;tMath.PI/2?r-Math.PI/2:Math.PI/2-r;let p=e/Math.cos(a);n=l[t-1].clone(),n=SuperMapAlgoPlot.PlottingUtil.rotateAngle(l[t],r,n),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(l[t],n,p))}if(s<3)n=l[s-2].clone(),SuperMapAlgoPlot.PlottingUtil.rotateAngle(l[s-1],Math.PI,n),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(l[s-1],n,e));else{let t=SuperMapAlgoPlot.PlottingUtil.radian(l[s-1],l[0]),i=SuperMapAlgoPlot.PlottingUtil.radian(l[s-1],l[s-2])-t;for(;i<0;)i+=2*Math.PI;let a,r=Math.PI-i/2;a=r>Math.PI/2?r-Math.PI/2:Math.PI/2-r;let p=e/Math.cos(a);n=l[s-2].clone(),n=SuperMapAlgoPlot.PlottingUtil.rotateAngle(l[s-1],r,n),o.push(SuperMapAlgoPlot.PlottingUtil.linePnt(l[s-1],n,p))}}return o},SuperMapAlgoPlot.PlottingUtil.getOutRectangleDis=function(t){if(2>t.length)return 0;let e=t[0].x,i=t[0].x,o=t[0].y,l=t[0].y;for(let s=1;st[s].x&&(i=t[s].x),ot[s].y&&(l=t[s].y);return SuperMapAlgoPlot.PlottingUtil.distance(new SuperMapAlgoPlot.Point(e,o),new SuperMapAlgoPlot.Point(i,l))},SuperMapAlgoPlot.PlottingUtil.clonePoints=function(t){let e=[];if(void 0===t||null===t)return e;if(SuperMapAlgoPlot.PlottingUtil.isArray(t)||(t=[t]),t&&null!=t)for(let i=0;i1e-12&&--P>0;){var S=Math.sin(c),d=Math.cos(c),m=Math.sqrt(g*S*(g*S)+(u*h-p*g*d)*(u*h-p*g*d));if(0==m)return 0;var f=p*h+u*g*d,M=Math.atan2(m,f),b=Math.asin(u*g*S/m),A=Math.cos(b)*Math.cos(b),T=f-2*p*h/A,v=r/16*A*(4+r*(4-3*A));y=c,c=i+(1-v)*r*Math.sin(b)*(M+v*m*(T+v*f*(2*T*T-1)))}if(0==P)return NaN;var _=A*(n*n-a*a)/(a*a),x=_/1024*(256+_*(_*(74-47*_)-128));return(a*(1+_/16384*(4096+_*(_*(320-175*_)-768)))*(M-x*m*(T+x/4*(f*(2*T*T-1)-x/6*T*(4*m*m-3)*(4*T*T-3))))).toFixed(3)/1e3},SuperMapAlgoPlot.PlottingUtil.destinationVincenty=function(t,e,i){var o,l,s=SuperMapAlgoPlot.PlottingUtil,n=s.VincentyConstants,a=n.a,r=n.b,p=n.f;"undefined"!=typeof L&&void 0!==L.LatLng&&t instanceof L.LatLng?(o=t.lng,l=t.lat):(o=t.lon,l=t.lat);for(var u=i,h=s.rad(e),g=Math.sin(h),c=Math.cos(h),y=(1-p)*Math.tan(s.rad(l)),P=1/Math.sqrt(1+y*y),S=y*P,d=Math.atan2(y,c),m=P*g,f=1-m*m,M=f*(a*a-r*r)/(r*r),b=1+M/16384*(4096+M*(M*(320-175*M)-768)),A=M/1024*(256+M*(M*(74-47*M)-128)),T=u/(r*b),v=2*Math.PI;Math.abs(T-v)>1e-12;){var _=Math.cos(2*d+T),x=Math.sin(T),O=Math.cos(T);v=T,T=u/(r*b)+A*x*(_+A/4*(O*(2*_*_-1)-A/6*_*(4*x*x-3)*(4*_*_-3)))}var w=S*x-P*O*c,I=Math.atan2(S*O+P*x*c,(1-p)*Math.sqrt(m*m+w*w)),C=p/16*f*(4+p*(4-3*f)),E=Math.atan2(x*g,P*O-S*x*c)-(1-C)*p*m*(T+C*x*(_+C*O*(2*_*_-1)));return"undefined"!=typeof L&&void 0!==L.LatLng&&t instanceof L.LatLng?L.latLng(s.deg(I),o+s.deg(E)):new SuperMap.LonLat(o+s.deg(E),s.deg(I))},SuperMapAlgoPlot.PlottingUtil.midPoint=function(t,e){var i=new SuperMapAlgoPlot.Point(0,0);return i.x=.5*(t.x+e.x),i.y=.5*(t.y+e.y),i},SuperMapAlgoPlot.PlottingUtil.makeDottedLine=function(t,e){for(var i,o,l=[],s=e,n=SuperMapAlgoPlot.PlottingUtil.polylineDistance(t),a=e,r=t[0].clone(),p=1,u=0,h=!0,g=!0;u=3){let e=SuperMapAlgoPlot.PlottingUtil.distance(t[0],t[1]);SuperMapAlgoPlot.PlottingUtil.isRight(t[0],t[1],t[2])&&(e=-e);let i=[];for(let e=1;e=3){let e=t[0].x+(t[2].x-t[1].x),i=t[0].y+(t[2].y-t[1].y),o=new SuperMapAlgoPlot.Point(e,i),l=[];return l.push.apply(l,t),l.push(o),l.push(l[0]),l}},polygon:function(t){if(t&&t.length>2)return t},circle:function(t){if(t&&2===t.length){let e=t[0],i=t[1],o=[],l=Math.sqrt((i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y)),s=360/this.nSegmentCount;for(let t=0;t=3){let e=this.getArcInfo(t[0],t[1],t[2]);e.dStartAngle*=Math.PI/180,e.dEndAngle*=Math.PI/180;let i=(e.dEndAngle-e.dStartAngle)/this.nSegmentCount,o=this.getArcSpatialData(e.pntCenter,e.dRadius,e.dRadius,0,e.dStartAngle,e.dEndAngle,i);if(o.push(e.pntCenter),0!==o.length)return o}},lune:function(t){if(t&&t.length>=3){let e=this.getArcInfo(t[0],t[1],t[2]);e.dStartAngle*=Math.PI/180,e.dEndAngle*=Math.PI/180;let i=(e.dEndAngle-e.dStartAngle)/this.nSegmentCount,o=this.getArcSpatialData(e.pntCenter,e.dRadius,e.dRadius,0,e.dStartAngle,e.dEndAngle,i);if(0!==o.length)return o}},arc:function(t){if(t&&t.length>=3){let e=this.getArcInfo(t[0],t[1],t[2]);e.dStartAngle*=Math.PI/180,e.dEndAngle*=Math.PI/180;let i=(e.dEndAngle-e.dStartAngle)/this.nSegmentCount,o=this.getArcSpatialData(e.pntCenter,e.dRadius,e.dRadius,0,e.dStartAngle,e.dEndAngle,i);if(0!==o.length)return o}},ellipse:function(t,e,i,o,l){if(!0===i){if((!o||null==o)&&t&&t.length>=3&&(o=SuperMapAlgoPlot.PlottingUtil.distance(t[0],t[1])),(!l||null==l)&&t&&t.length>=3){let e=SuperMapAlgoPlot.PlottingUtil.projectPoint(t[2],t[0],t[1]);l=SuperMapAlgoPlot.PlottingUtil.distance(e,t[2])}}else l=SuperMapAlgoPlot.PlottingUtil.distance(t[0],t[2]),o=SuperMapAlgoPlot.PlottingUtil.distance(t[0],t[1]);if(e&&null!=e?e*=Math.PI/180:e=SuperMapAlgoPlot.PlottingUtil.radian(t[0],t[1]),t&&t.length>0){let s=0,n=2*Math.PI,a=n/this.nSegmentCount,r=this.getArcSpatialData(t[0],o,l,e,s,n,a);if(!0===i){let i=Math.sin(e),o=Math.cos(e);t[2].x>t[1].x?(t[2].x=t[0].x-l*i,t[2].y=t[0].y+l*o):(t[2].x=t[0].x+l*i,t[2].y=t[0].y-l*o)}return r}},getArcSpatialData:function(t,e,i,o,l,s,n){let a=[];if(Math.abs(n)<1e-9)return a;for(;sl+2*Math.PI;)l+=2*Math.PI;let r=Math.cos(o)*e,p=Math.sin(o)*e,u=Math.cos(o)*i,h=Math.sin(o)*i,g=this.calcEllipseRadian(l,e,i),c=this.calcEllipseRadian(s,e,i);c-g<1e-5&&(c+=2*Math.PI);let y=Math.round(Math.abs((c-g)/n)+1);if(y<2)return a;for(var P=0;Pa.length&&(a[a.length-1].x=t.x+r*Math.cos(c)-h*Math.sin(c),a[a.length-1].y=t.y+p*Math.cos(c)+u*Math.sin(c)),a},getArcCircleSpatialData:function(t,e,i,o){let l=[];for(;oi+2*Math.PI;)i+=2*Math.PI;o-i<1e-10&&(o+=2*Math.PI);for(var s=(o-i)/50,n=i;n=1e-9&&(n=(i.y-e.y)/(i.x-e.x)),o.pntCenter.y=l.y,Math.abs(n)<1e-9?o.pntCenter.x=s.x:o.pntCenter.x=s.x-n*(l.y-s.y)}else{let n={},a={};n.x=(e.x+t.x)/2,n.y=(e.y+t.y)/2,a.x=(e.x+i.x)/2,a.y=(e.y+i.y)/2;let r=s/l,p=1;Math.abs(r)<1e-9?(o.pntCenter.x=n.x,Math.abs(i.x-e.x<1e-9)?o.pntCenter.y=a.y:o.pntCenter.y=-(i.x-e.x)/(i.y-e.y)*(o.pntCenter.x-a.x)+a.y):Math.abs(i.x-e.x)<1e-9?(o.pntCenter.y=a.y,o.pntCenter.x=-r*(o.pntCenter.y-n.y)+n.x):(p=(i.y-e.y)/(i.x-e.x),o.pntCenter.x=(r*p*(n.y-a.y)+p*n.x-r*a.x)/(p-r),o.pntCenter.y=(a.x-n.x+p*a.y-r*n.y)/(p-r))}let n=Math.atan2(t.y-o.pntCenter.y,t.x-o.pntCenter.x),a=Math.atan2(i.y-o.pntCenter.y,i.x-o.pntCenter.x);if(SuperMapAlgoPlot.PlottingUtil.isCounterClockwise(t,e,i)){for(;n>=2*Math.PI;)n-=2*Math.PI;for(;n<0;)n+=2*Math.PI;for(;a>2*Math.PI;)a-=2*Math.PI;for(;a=2*Math.PI;)a-=2*Math.PI;for(;a<0;)a+=2*Math.PI;for(;n>2*Math.PI;)n-=2*Math.PI;for(;a>n;)n+=2*Math.PI;let t=n;n=a,a=t}return o.dRadius=Math.sqrt((o.pntCenter.x-t.x)*(o.pntCenter.x-t.x)+(o.pntCenter.y-t.y)*(o.pntCenter.y-t.y)),o.dEndAngle=180*a/Math.PI,o.dStartAngle=180*n/Math.PI,o},calcEllipseRadian:function(t,e,i){let o=t,l=e*Math.sin(t),s=i*Math.cos(t),n=Math.atan2(l,s);if(t>Math.PI)for(;o>Math.PI;)o-=2*Math.PI,n+=2*Math.PI;else if(t<-Math.PI)for(;o<-Math.PI;)o+=2*Math.PI,n-=2*Math.PI;return n},getKendyShapePts:function(t){let e=[];if(2>(t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length)return e;let i=this.calcShapePoints(t);if(12!=i.length)return e;i.push(i[0]),i.push(i[1]),i.splice(0,1);for(let t=0;t=s&&n>=a){let t=i.clone();i=l.clone(),l=t.clone()}else if(a>=s&&a>=n){let t=l.clone();l=o.clone(),o=t.clone()}if(!SuperMapAlgoPlot.PlottingUtil.isRight(l,i,o)){let t=i.clone();i=o.clone(),o=t.clone()}e[0]=i,e[1]=o,e[2]=l}return e},GetPtsByTriangle:function(t,e,i,o,l){let s=new SuperMapAlgoPlot.Point(0,0),n=0,a=0;return n=SuperMapAlgoPlot.PlottingUtil.distance(l,i),a=SuperMapAlgoPlot.PlottingUtil.distance(o,l),1==e&&(n*=2),2==e&&(a*=2),s.x=(n*o.x+a*i.x)/(n+a),s.y=(n*o.y+a*i.y)/(n+a),{pl:this.GetWhichPtOfNormal(t,i,s,l),pr:this.GetWhichPtOfNormal(t,o,s,l)}},GetWhichPtOfNormal:function(t,e,i,o){let l,s=0,n=0;n=SuperMapAlgoPlot.PlottingUtil.distance(o,e)/t;let a=this.GetPointsOfNormal(n,i,o);return l=(s=SuperMapAlgoPlot.PlottingUtil.distance(e,a.pt4))>=(n=SuperMapAlgoPlot.PlottingUtil.distance(e,a.pt3))?a.pt3:a.pt4},getBezierPtsWithScalePts:function(t,e,i,o){let l=[],s=t.x,n=t.y,a=e.x,r=e.y,p=i.x,u=i.y,h=o.x,g=o.y;if(SuperMapAlgoPlot.PlottingUtil.equalFuzzy(s,a,1e-10)&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(n,r,1e-10)&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(p,h,1e-10)&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(u,g,1e-10))l.push(new SuperMapAlgoPlot.Point(s,n)),l.push(new SuperMapAlgoPlot.Point(p,u));else for(let t=0;t<=1;t+=.03125){let e,i,o,c,y=t*t,P=y*t;e=1-3*t+3*y-P,i=3*(t-2*y+P),o=3*(y-P),c=P;let S=new SuperMapAlgoPlot.Point(e*s+i*a+o*p+c*h,e*n+i*r+o*u+c*g);l.push(S)}return l},getSpatialData:function(t,e,i,o){switch(null==o&&(o=!0),t){case 24:return this.polyline(e);case 390:return this.kidney(e,o);case 590:return this.bezier(e,o);case 360:return this.loopbezier(e,o);case 28:return this.parallelogram(e);case 32:return this.polygon(e);case 29:return this.circle(e);case 26:return this.rectangle(e);case 380:return this.sector(e);case 370:return this.lune(e);case 44:return this.arc(e);case 31:return this.ellipse(e,i,o);case 48:return this.parallelline(e);default:return e}}};SuperMapAlgoPlot.RouteNodePrimitives=SuperMapAlgoPlot.RouteNodePrimitives||{};SuperMapAlgoPlot.RouteNodePrimitives={initialize:function(){},rendezvousPoint:function(){let t=[],e=new Object;e.type=SuperMapAlgoPlot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMapAlgoPlot.Point(0,0)),e.positionPoints.push(new SuperMapAlgoPlot.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};let i=new Object;return i.type=SuperMapAlgoPlot.SymbolType.TEXTSYMBOL,i.positionPoints=[],i.positionPoints.push(new SuperMapAlgoPlot.Point(0,0)),i.textContent="会",i.style={surroundLineFlag:!1,fontSize:14,fontSizeLimit:!0},i.style.labelAlign="cm",t.push(i),t.push(e),t},expandingPoint:function(){let t=[],e=new Object;e.type=SuperMapAlgoPlot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMapAlgoPlot.Point(0,0)),e.positionPoints.push(new SuperMapAlgoPlot.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};let i=new Object;return i.type=SuperMapAlgoPlot.SymbolType.TEXTSYMBOL,i.positionPoints=[],i.positionPoints.push(new SuperMapAlgoPlot.Point(0,0)),i.textContent="展",i.style={surroundLineFlag:!1,fontSize:14,fontSizeLimit:!0},i.style.labelAlign="cm",t.push(i),t.push(e),t},volleyPoint:function(){let t=[],e=new Object;e.type=SuperMapAlgoPlot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMapAlgoPlot.Point(0,0)),e.positionPoints.push(new SuperMapAlgoPlot.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};let i=new Object;return i.type=SuperMapAlgoPlot.SymbolType.TEXTSYMBOL,i.positionPoints=[],i.positionPoints.push(new SuperMapAlgoPlot.Point(0,0)),i.textContent="齐",i.style={surroundLineFlag:!1,fontSize:14,fontSizeLimit:!0},i.style.labelAlign="cm",t.push(i),t.push(e),t},standbyPoint_Outer:function(t,e){let i=[],o=new SuperMapAlgoPlot.Point(0,0),l=new SuperMapAlgoPlot.Point(0,30);t||(t=90);let s=new Object;s.type=SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,s.positionPoints=[];for(let e=t+10;e<170+t;e+=10){let t=SuperMapAlgoPlot.PlottingUtil.findPoint(o,l,30,e);s.positionPoints.push(t)}s.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},i.push(s);let n=s.positionPoints[s.positionPoints.length-1],a=s.positionPoints[s.positionPoints.length-2],r=SuperMapAlgoPlot.PlottingUtil.findPoint(n,a,9,22.5),p=SuperMapAlgoPlot.PlottingUtil.findPoint(n,a,9,-22.5),u=new Object;u.type=SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,u.positionPoints=[],u.positionPoints.push(r),u.positionPoints.push(n.clone()),u.positionPoints.push(p),u.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},i.push(u);let h=new Object;h.type=SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,h.positionPoints=[];for(let e=190+t;e<350+t;e+=10){let t=SuperMapAlgoPlot.PlottingUtil.findPoint(o,l,30,e);h.positionPoints.push(t)}h.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},i.push(h);let g=h.positionPoints[h.positionPoints.length-1],c=h.positionPoints[h.positionPoints.length-2],y=SuperMapAlgoPlot.PlottingUtil.findPoint(g,c,9,22.5),P=SuperMapAlgoPlot.PlottingUtil.findPoint(g,c,9,-22.5),S=new Object;S.type=SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,S.positionPoints=[],S.positionPoints.push(y),S.positionPoints.push(g.clone()),S.positionPoints.push(P),S.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},i.push(S);for(let t=0;t1&&t.push(l),l=[],e=n.GetX(),i=n.GetY(),l.push(new SuperMapAlgoPlot.Point(e,i));break;case 1:e=n.GetX(),i=n.GetY(),l.push(new SuperMapAlgoPlot.Point(e,i));break;case 2:if(3!=o.elements[M+1].GetType()||3!=o.elements[M+1].GetType())break;var a=o.elements[M-1].GetX(),r=o.elements[M-1].GetY(),p=n.GetX(),u=n.GetY(),h=o.elements[M+1].GetX(),g=o.elements[M+1].GetY(),c=o.elements[M+2].GetX(),y=o.elements[M+2].GetY();for(let t=0;t<=1;t+=.03125){var P=t*t,S=P*t,d=1-3*t+3*P-S,m=3*(t-2*P+S),f=3*(P-S),L=S;l.push(new SuperMapAlgoPlot.Point(d*a+m*p+f*h+L*c,d*r+m*u+f*g+L*y))}M+=2}}return l.length>1&&t.push(l),!0}ensureData(){null==this.m_pData&&this.ensureData_helper()}ensureData_helper(){var t=new SuperMapAlgoPlot.Path2DData,e=new SuperMapAlgoPlot.Element(0,0,0);t.elements.push(e),null==this.m_pData||this.mtDeRef(this.m_pData.ref)||(this.m_pData=null),this.m_pData=t}detach(){1!=this.m_pData.ref&&this.detach_helper(),this.setBoundsDirty(!0)}detach_helper(){var t=new SuperMapAlgoPlot.Path2DData;null==this.m_pData||this.mtDeRef(this.m_pData.ref)||(this.m_pData=null),this.m_pData=t}setBoundsDirty(t){this.getDataPtr().isBoundsDirty=t}getDataPtr(){return this.m_pData}IsEmpty(){if(null==this.m_pData)return!0;var t=this.m_pData.elements.length;return 0==t||1==t&&0==this.m_pData.elements[0].GetType()}GetElementCount(){return null!=this.m_pData?this.m_pData.elements.length:0}static mtRef(t){return 0!=++t}static mtDeRef(t){return 0!=--t}};SuperMapAlgoPlot.Element=class{constructor(t,e,i){this.m_x=t,this.m_y=e,this.m_type=i,this.CLASS_NAME="SuperMapAlgoPlot.Element"}GetX(){return this.m_x}GetY(){return this.m_y}GetType(){return this.m_type}GetPosition(){return SuperMapAlgoPlot.Point(this.m_x,this.m_y)}SetPosition(t,e){this.m_x=t,this.m_y=e}SetType(t){this.m_type=t}IsCurveTo(){return 2==this.m_type}IsLineTo(){return 1==this.m_type}IsMoveTo(){return 0==this.m_type}Equal(t){return SuperMapAlgoPlot.PlottingUtil.equalFuzzy(this.m_x,t.m_x,1e-10)&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(this.m_y,t.m_y,1e-10)&&this.m_type==t.m_type}clone(){return new SuperMapAlgoPlot.Path2D.Element(this.m_x,this.m_y,this.m_type)}};SuperMapAlgoPlot.Path2DData=class{constructor(t){if(t){this.cStart=t.cStart,this.fillRule=t.fillRule,this.require_StartNewFigure=t.require_StartNewFigure,this.isBoundsDirty=t.isBoundsDirty,this.bounds=new SuperMap.Bounds(t.bounds.left,t.bounds.bottom,t.bounds.right,t.bounds.top),this.ref=1,this.elements=[];for(let e=0;e2){var r=t.length;t.splice(2,r-2)}var p=SuperMapAlgoPlot.PlottingUtil.polylineDistance(t);o.arrowTouLen=p*l;var u=SuperMapAlgoPlot.PlottingUtil.findPointInPolyLine(t,p-o.arrowTouLen).pt,h=[],g=o.arrowTouLen*n,c=o.arrowTouLen*s,y=t.length-1;for(let e=0;e-360&&l[t+1].x-l[0].x<-180&&s.push(t+1),l[t+1].x-l[0].x<360&&l[t+1].x-l[0].x>180&&n.push(t+1);if(n.length>s.length){for(let t=0;t180?o[t].x=o[t].x-360:o[t].x<-180&&(o[t].x=o[t].x+360);return o},SuperMapAlgoPlot.ArrowToolkit.eastCrossZone=function(t){var e=!1;if(void 0!==t[0].z&&(e=!0),!e)return t;var i=SuperMapAlgoPlot.PlottingUtil.clonePoints(t);for(let t=0;t-180&&(i[t].x=i[t].x+360);return i},SuperMapAlgoPlot.ArrowToolkit.westCrossZone=function(t){var e=!1;if(void 0!==t[0].z&&(e=!0),!e)return t;var i=SuperMapAlgoPlot.PlottingUtil.clonePoints(t);for(let t=0;t0&&i[t].x<180&&(i[t].x=i[t].x-360);return i},SuperMapAlgoPlot.ArrowToolkit.generateArrowHeadShapePts=function(t,e,i,o,l){var s=[];switch(t=SuperMapAlgoPlot.ArrowToolkit.beforePtsCrossZone(t).pts,e=SuperMapAlgoPlot.ArrowToolkit.beforePtsCrossZone(e).pts,l){case SuperMapAlgoPlot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITH_EAR:case SuperMapAlgoPlot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITHOUT_EAR:var n=i[0],a=i[1],r=0,p=0;3==i.length&&(r=i[2]),4==i.length&&(r=i[2],p=i[3]);var u=0;if(!SuperMapAlgoPlot.PlottingUtil.equalFuzzy(r,0)&&!SuperMapAlgoPlot.PlottingUtil.equalFuzzy(p,0)){var h=SuperMapAlgoPlot.PlottingUtil.clonePoints(t);h.splice(h.length-1,1),u=SuperMapAlgoPlot.PlottingUtil.polylineDistance(h)*r*p}var g=new SuperMapAlgoPlot.Point((e[0].x+e[1].x)/2,(e[0].y+e[1].y)/2);if(SuperMapAlgoPlot.PlottingUtil.equalFuzzy(a,0)){var c=o*n,y=t[t.length-1];return y=SuperMapAlgoPlot.PlottingUtil.rotate(g,0,1,y),s.push(SuperMapAlgoPlot.PlottingUtil.findPointInLine(g,y,c)),s.push(t[t.length-1]),y=t[t.length-1],y=SuperMapAlgoPlot.PlottingUtil.rotate(g,0,-1,y),s.push(SuperMapAlgoPlot.PlottingUtil.findPointInLine(g,y,c)),t=SuperMapAlgoPlot.ArrowToolkit.afterPtsCrossZone(t),s=SuperMapAlgoPlot.ArrowToolkit.afterPtsCrossZone(s)}var P=o*a,S=SuperMapAlgoPlot.PlottingUtil.getExcentrePointOnSegmentByScale(P,g,t[t.length-1]);P=o*n,P+=u;var d=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(P,t[t.length-1],S),m=d.pntLeft,f=d.pntRight,L=t[t.length-1];return s.push(f),s.push(L),s.push(m),t=SuperMapAlgoPlot.ArrowToolkit.afterPtsCrossZone(t),s=SuperMapAlgoPlot.ArrowToolkit.afterPtsCrossZone(s)}},SuperMapAlgoPlot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine=function(t,e,i,o){var l=[];if(2>t.length)return l;t=SuperMapAlgoPlot.ArrowToolkit.beforePtsCrossZone(t).pts;var s,n=SuperMapAlgoPlot.PlottingUtil.polylineDistance(t),a=SuperMapAlgoPlot.PlottingUtil.equalFuzzy(e,0);switch(i){case SuperMapAlgoPlot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYLINE:l=l.concat(t),o&&!a&&SuperMapAlgoPlot.PlottingUtil.distance(t[t.length-1],t[t.length-2])>e&&(s=SuperMapAlgoPlot.PlottingUtil.findPointInPolyLine(t,n-e),l.splice(l.length-1,1),l.push(s.pt));break;case SuperMapAlgoPlot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYBEZIER:if(2==t.length)l=l.concat(t),o&&!a&&SuperMapAlgoPlot.PlottingUtil.distance(t[t.length-1],t[t.length-2])>e&&(s=SuperMapAlgoPlot.PlottingUtil.findPointInPolyLine(t,n-e),l.splice(l.length-1,1),l.push(s.pt));else{var r=SuperMapAlgoPlot.PlottingUtil.generateBeizerPointsNoCtrlPt(t),p=SuperMapAlgoPlot.PlottingUtil.polylineDistance(r);if(a)l=l.concat(r);else{var u=r[r.length-1];if(!a&&(e1;h--){if(!(e>SuperMapAlgoPlot.PlottingUtil.distance(u,r[h]))){var g=SuperMapAlgoPlot.PlottingUtil.findPoint(u,r[h],e,0);r.push(g),l=r;break}r.splice(h,1)}o||l.push(u)}else l=l.concat(r)}}break;case SuperMapAlgoPlot.ArrowToolkit.ArrowBodyType.ARROWBODY_COATTAIL:var c=e;if(c>n)return l;var y,P,S=Math.ceil(n/(1.4*c)),d=0,m=[];for(let e=0;et.length)return o;switch(t=SuperMapAlgoPlot.ArrowToolkit.beforePtsCrossZone(t).pts,i){case SuperMapAlgoPlot.ArrowToolkit.ArrowHeadType.ARROWHEAD_POLYLINE:{let i=t[0],l=t[1],s=SuperMapAlgoPlot.PlottingUtil.distance(i,l);if(SuperMapAlgoPlot.PlottingUtil.equalFuzzy(s,e,1e-7)||s>e){let s=SuperMapAlgoPlot.PlottingUtil.findPoint(i,l,e,0),n=e*Math.tan(.125*Math.PI),a=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(n,t[0],s);o.push(a.pntLeft),o.push(t[0]),o.push(a.pntRight)}else{l=t[2];let s=SuperMapAlgoPlot.PlottingUtil.findPoint(i,l,e,0),n=e*Math.tan(.125*Math.PI),a=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(n,t[0],s);o.push(a.pntLeft),o.push(t[0]),o.push(a.pntRight)}break}case SuperMapAlgoPlot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE:break;case SuperMapAlgoPlot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE_SOLID:{let i=t[0],l=t[1],s=SuperMapAlgoPlot.PlottingUtil.distance(i,l);if(SuperMapAlgoPlot.PlottingUtil.equalFuzzy(s,e,1e-7)||s>e){let s=e*Math.tan(.125*Math.PI),n=SuperMapAlgoPlot.PlottingUtil.findPoint(i,l,e,0),a=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(s,t[0],n);o.push(a.pntLeft),o.push(i),o.push(a.pntRight),o.push(a.pntLeft)}else{l=t[2];let s=e*Math.tan(.125*Math.PI),n=SuperMapAlgoPlot.PlottingUtil.findPoint(i,l,e,0),a=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(s,t[0],n);o.push(a.pntLeft),o.push(i),o.push(a.pntRight),o.push(a.pntLeft)}break}case SuperMapAlgoPlot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL:{let i=t[0],l=2*Math.sqrt(e*e/3),s=SuperMapAlgoPlot.PlottingUtil.distance(t[0],t[1]);if(SuperMapAlgoPlot.PlottingUtil.equalFuzzy(l/2,s,1e-7)||s>l/2){let e=SuperMapAlgoPlot.PlottingUtil.findPoint(t[0],t[1],l,20),s=SuperMapAlgoPlot.PlottingUtil.findPoint(t[0],t[1],l,-20),n=SuperMapAlgoPlot.PlottingUtil.findPoint(t[0],t[1],l/2,0);o.push(i),o.push(e),o.push(n),o.push(s),o.push(i)}else{i=t[2];let e=SuperMapAlgoPlot.PlottingUtil.findPoint(t[0],t[1],l,20),s=SuperMapAlgoPlot.PlottingUtil.findPoint(t[0],t[1],l,-20),n=SuperMapAlgoPlot.PlottingUtil.findPoint(t[0],t[1],l/2,0);o.push(i),o.push(e),o.push(n),o.push(s),o.push(i)}break}case SuperMapAlgoPlot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL_HOLLOW:{var l=[];let i=t[0],h=2*Math.sqrt(e*e/3),g=SuperMapAlgoPlot.PlottingUtil.distance(t[0],t[1]);if(SuperMapAlgoPlot.PlottingUtil.equalFuzzy(h/1.4,g,1e-7)||g>h/1.4){let e=SuperMapAlgoPlot.PlottingUtil.findPoint(t[0],t[1],h,20),g=SuperMapAlgoPlot.PlottingUtil.findPoint(t[0],t[1],h,-20),c=SuperMapAlgoPlot.PlottingUtil.findPoint(t[0],t[1],h/1.4,0);l.push(i),l.push(e),l.push(c),l.push(g),l.push(i);var s=new SuperMapAlgoPlot.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),n=new SuperMapAlgoPlot.Point((l[3].x+l[4].x)/2,(l[3].y+l[4].y)/2),a=new SuperMapAlgoPlot.Point((s.x+n.x)/2,(s.y+n.y)/2),r=.75*SuperMapAlgoPlot.PlottingUtil.distance(s,n)/2,p=SuperMapAlgoPlot.PlottingUtil.findPointInLine(a,s,r),u=SuperMapAlgoPlot.PlottingUtil.findPointInLine(a,n,r);o.push(l[0]),o.push(p),o.push(l[1]),o.push(l[2]),o.push(l[3]),o.push(u),o.push(l[4])}else{i=t[0];let e=SuperMapAlgoPlot.PlottingUtil.findPoint(t[0],t[1],h,20),g=SuperMapAlgoPlot.PlottingUtil.findPoint(t[0],t[1],h,-20),c=SuperMapAlgoPlot.PlottingUtil.findPoint(t[0],t[1],h/1.4,0);l.push(i),l.push(e),l.push(c),l.push(g),l.push(i);s=new SuperMapAlgoPlot.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),n=new SuperMapAlgoPlot.Point((l[3].x+l[4].x)/2,(l[3].y+l[4].y)/2),a=new SuperMapAlgoPlot.Point((s.x+n.x)/2,(s.y+n.y)/2),r=.75*SuperMapAlgoPlot.PlottingUtil.distance(s,n)/2,p=SuperMapAlgoPlot.PlottingUtil.findPointInLine(a,s,r),u=SuperMapAlgoPlot.PlottingUtil.findPointInLine(a,n,r);o.push(l[0]),o.push(p),o.push(l[1]),o.push(l[2]),o.push(l[3]),o.push(u),o.push(l[4])}break}}return o=SuperMapAlgoPlot.ArrowToolkit.afterPtsCrossZone(o)},SuperMapAlgoPlot.ArrowToolkit.generateArrowTailShapePts=function(t,e,i,o){var l=e.length,s=[],n=0;t=SuperMapAlgoPlot.ArrowToolkit.beforePtsCrossZone(t).pts;for(let e=0;e0&&S>0){var m=1/(c-t[2].x),f=-1/(y-t[2].y),L=1*t[2].y/(y-t[2].y)-1*t[2].x/(c-t[2].x);d=Math.abs(m*t[0].x+f*t[0].y+L)/Math.sqrt(m*m+f*f)}else S<=1e-4?d=Math.abs(y-t[1].y):P<=1e-4&&(d=Math.abs(c-t[1].x));var M=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(d,t[2],new SuperMapAlgoPlot.Point(c,y)),b=SuperMapAlgoPlot.PlottingUtil.pointIsRightToLine(t[1],t[2],t[0]);b?(s[1]=t[1],n[1]=t[0]):(s[1]=t[0],n[1]=t[1]),t[1]=new SuperMapAlgoPlot.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);var A=Math.sqrt((M.pntLeft.x-M.pntRight.x)*(M.pntLeft.x-M.pntRight.x)+(M.pntLeft.y-M.pntRight.y)*(M.pntLeft.y-M.pntRight.y))*SuperMapAlgoPlot.ArrowToolkit.ConstValue.sv_AtWidthDivAwWidth,T=(l=A*SuperMapAlgoPlot.ArrowToolkit.ConstValue.sv_AtLenDivAtWidth)*g;SuperMapAlgoPlot.PlottingUtil.equalFuzzy(h,0)||(T=(l=o*h)*g);var v,_,x=SuperMapAlgoPlot.PlottingUtil.distance(t[e],t[e-1]),O=2*l;x0&&(t[e]=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(l,t[e],D)),C=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(T,t[e+1],t[e]),(b=SuperMapAlgoPlot.PlottingUtil.pointIsRightToLine(t[e],t[e+1],C.pntLeft))?(n[e]=new SuperMapAlgoPlot.Point(C.pntLeft.x,C.pntLeft.y),s[e]=new SuperMapAlgoPlot.Point(C.pntRight.x,C.pntRight.y)):(n[e]=new SuperMapAlgoPlot.Point(C.pntRight.x,C.pntRight.y),s[e]=new SuperMapAlgoPlot.Point(C.pntLeft.x,C.pntLeft.y)),w=2;w=2&&this.controlPoints.length=this.minEditPts){var e={textContent:this.textContent,type:this.symbolType,surroundLineFlag:!1,positionPoints:t,style:{}};if(e.type===SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL&&e.positionPoints.push(e.positionPoints[0]),this.symbolType===SuperMapAlgoPlot.SymbolType.PARALLELLINE){if(this.controlPoints&&this.controlPoints.length>=3){var i=!1;void 0!==this.controlPoints[0].z&&(i=!0);var o=SuperMapAlgoPlot.PlottingUtil.distance(this.controlPoints[0],this.controlPoints[1]);SuperMapAlgoPlot.PlottingUtil.isRight(this.controlPoints[0],this.controlPoints[1],this.controlPoints[2])&&(o=-o);var l=[];for(let t=1;ty)break;if(u>=c){var S=p.split("");p="";var d="",m=S.length;for(let t=0;t=c){var f=S[t];if(S[t]="\n",n++,a.weight?P=parseFloat(a.fontSize)*n+n+2*a.weight+.2*parseFloat(a.fontSize):this.style.strokeWidth&&(P=parseFloat(a.fontSize)*n+n+2*a.strokeWidth+.2*parseFloat(a.fontSize)),!(P.5)return o.startIndex=0,o.startPt=t[0],o.endIndex=t.length-1,o.endPt=t[t.length-1],o;null==i&&(i=.5);var l=SuperMapAlgoPlot.PlottingUtil.polylineDistance(t),s=SuperMapAlgoPlot.PlottingUtil.getPtsIndexByDistance(l*(i-e),t),n=SuperMapAlgoPlot.PlottingUtil.getPtsIndexByDistance(l*(i+e),t);return o.startIndex=s.index,o.startPt=s.pts,o.endIndex=n.index,o.endPt=n.pts,o}computeDashLine(t,e,i){var o=[],l=SuperMapAlgoPlot.PlottingUtil.polylineDistance(i);if(l<=0)return[];for(var s,n=i[0],a=1,r=0,p=!0,u=!0;r2){var r=-1;for(let e=t.length-2;e>=0;e--)if(i1){SuperMapAlgoPlot.PlottingUtil.distance(t[t.length-1],t[t.length-2])>a&&(s=SuperMapAlgoPlot.PlottingUtil.getPtsIndexByDistance(a,[t[t.length-1],t[t.length-2]])).bfind&&(t.splice(t.length-1,1),t.push(s.pts)),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,t);var p=t[t.length-1],u=n,h=i;if(void 0===p)return t;var g=SuperMapAlgoPlot.PlottingUtil.radian(p,u)*SuperMapAlgoPlot.PlottingUtil.RTOD,c=SuperMapAlgoPlot.PlottingUtil.circlePoint(u,h,h,g+157.5),y=SuperMapAlgoPlot.PlottingUtil.circlePoint(u,h,h,g+202.5),P={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0,lineTypeLimit:!0,surroundLineLimit:!0,surroundLineType:SuperMapAlgoPlot.AlgoSurroundLineType.NONE};this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,[c,n,y],P)}else this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,l)}addArrowWithOutLine(t,e){if(t.length<2)return t;var i,o=SuperMapAlgoPlot.PlottingUtil.polylineDistance(this.controlPoints);void 0===e&&(this.isEdit,e=.5*this.getSubSymbolScaleValue());var l=t.slice();i=o*e;var s,n=t[t.length-1],a=i*Math.cos(.125*Math.PI);if(t.length>2){var r=-1;for(let e=t.length-2;e>=0;e--)if(i1){SuperMapAlgoPlot.PlottingUtil.distance(t[t.length-1],t[t.length-2])>a&&(s=SuperMapAlgoPlot.PlottingUtil.getPtsIndexByDistance(a,[t[t.length-1],t[t.length-2]])).bfind&&(t.splice(t.length-1,1),t.push(s.pts));var p=t[t.length-1],u=n,h=i;if(void 0===p)return t;var g=SuperMapAlgoPlot.PlottingUtil.radian(p,u)*SuperMapAlgoPlot.PlottingUtil.RTOD,c=SuperMapAlgoPlot.PlottingUtil.circlePoint(u,h,h,g+157.5),y=SuperMapAlgoPlot.PlottingUtil.circlePoint(u,h,h,g+202.5),P={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0,lineTypeLimit:!0,surroundLineLimit:!0,surroundLineType:SuperMapAlgoPlot.AlgoSurroundLineType.NONE};this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,[c,n,y],P)}else this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,l)}addDovetailArrow(t,e){if(t.length<2)return t;var i,o=SuperMapAlgoPlot.PlottingUtil.polylineDistance(this.controlPoints);void 0===e&&(this.isEdit,e=.5*this.getSubSymbolScaleValue()),i=o*e;var l=t[t.length-1];if(t.length>2){var s=-1;for(let e=t.length-2;e>=0;e--)if(ie||o<=0)&&(o=e),o}computeSubSymbol(t,e,i,o,l,s){if(null==t.symbolData||null==t.symbolData.innerCells)return null;void 0===l&&(l=0),void 0===s&&(s=0);var n=SuperMapAlgoPlot.AnalysisSymbol.analysisSymbolCells(t.symbolData,!0),a=0,r=0,p=0,u=0;for(let t=0;th[t].x&&(p=h[t].x),u>h[t].y&&(u=h[t].y)}var g=new SuperMapAlgoPlot.Point(a,r),c=new SuperMapAlgoPlot.Point(p,u),y=(g.y-c.y)/i,P=(g.x-c.x)/i,S=P>y?P:y,d=new SuperMapAlgoPlot.Point(.5*(g.x+c.x),.5*(g.y+c.y));d.x+=l*(g.x-c.x),d.y+=s*(g.y-c.y);for(let t=0,i=n.length;t=s)return i.z;if(a>=s)return e.z}return l.x!=e.x&&e.x!=i.x?e.z+(l.x-e.x)/(e.x-i.x)*(e.z-i.z):l.y!=e.y&&e.y!=i.y?e.z+(l.y-e.y)/(e.y-i.y)*(e.z-i.z):0==(n=SuperMapAlgoPlot.PlottingUtil.distance(e,l))?e.z:e.z-(e.z-i.z)*(n/s)}ComputeBeizerZValueByDis(t,e,i){if(t.length<2)return!1;var o=[];for(let e=0;e2?SuperMapAlgoPlot.PlottingUtil.radian(e[e.length-1],e[e.length-2]):SuperMapAlgoPlot.PlottingUtil.radian(e[1],e[0]))-s,a=e[e.length-1].x+l*Math.cos(n),r=e[e.length-1].y+l*Math.sin(n),p=new SuperMapAlgoPlot.Point(a,r),u=o+s,h=e[e.length-1].x+l*Math.cos(u),g=e[e.length-1].y+l*Math.sin(u),c=new SuperMapAlgoPlot.Point(h,g),y=[];y.push(p),y.push(e[e.length-1].clone()),y.push(c);var P={surroundLineFlag:!1,fillLimit:!0,lineTypeLimit:!0},S=SuperMapAlgoPlot.PlottingUtil.radian(e[0],e[1]);n=S-s,a=e[0].x+l*Math.cos(n),r=e[0].y+l*Math.sin(n),p=new SuperMapAlgoPlot.Point(a,r),u=S+s,h=e[0].x+l*Math.cos(u),g=e[0].y+l*Math.sin(u),c=new SuperMapAlgoPlot.Point(h,g);var d=[];d.push(p),d.push(e[0].clone()),d.push(c);var m=this.scaleValues[1]===SuperMapAlgoPlot.ArrowLineType.DOUBLELINE?SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL:SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,f=this.scaleValues[2]===SuperMapAlgoPlot.ArrowLineType.DOUBLELINE?SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL:SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL;this.scaleValues[1]===SuperMapAlgoPlot.ArrowLineType.DOUBLELINE?this.addCell(m,d,P):this.scaleValues[1]===SuperMapAlgoPlot.ArrowLineType.TRIANGLESOLID&&this.addCell(m,d,P),this.scaleValues[2]===SuperMapAlgoPlot.ArrowLineType.DOUBLELINE?this.addCell(f,y,P):this.scaleValues[2]===SuperMapAlgoPlot.ArrowLineType.TRIANGLESOLID&&this.addCell(f,y,P),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,e),this.finish()}}};SuperMapAlgoPlot.RegularPolygon=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),0===this.scaleValues.length&&this.scaleValues.push(1),this.CLASS_NAME="SuperMapAlgoPlot.RegularPolygon"}calculateParts(){if(this.init(),!(this.controlPoints.length0&&t<.4&&(this.scaleValues[0]=t)}else if(1==t){var l=new SuperMapAlgoPlot.Point((i[0].x+i[1].x)/2,(i[0].y+i[1].y)/2);let t=SuperMapAlgoPlot.PlottingUtil.distance(e,l)/o;0t&&(this.scaleValues[1]=t)}}this.calculateParts()}};SuperMapAlgoPlot.Trapezoid=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),this.CLASS_NAME="SuperMapAlgoPlot.Trapezoid"}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length>=2&&t.lengthi.x&&a.xi.y&&a.yo.x||a.yo.y)&&(e[0]=s,e[3]=i),4==e.length&&this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,e)}}GetPointsByTrapezoid(t,e,i,o,l){var s=e.x,n=e.y,a=i.x,r=i.y,p=o.x,u=o.y,h=0,g=0,c=0,y=0;if(SuperMapAlgoPlot.PlottingUtil.equalFuzzy(Math.abs(n-r),0))h=s+a-p,g=u;else if(SuperMapAlgoPlot.PlottingUtil.equalFuzzy(Math.abs(s-a),0))h=p,g=n+r-u;else{var P=1*(n-r)/(s-a),S=u-P*p;g=P*(h=((r+n)/2+(s+a)/(2*P)-S)/(P+1/P))+S,h=2*h-p,g=2*g-u}var d=Math.sqrt(1*(s-a)*(s-a)+1*(n-r)*(n-r)),m=Math.sqrt(1*(s-h)*(s-h)+1*(n-g)*(n-g));d>0?(c=s+(a-s)*m/d,y=n+(r-n)*m/d):(c=s,y=n);var f=c+(h-c)*t,L=y+(g-y)*t;l.x=f,l.y=L}};SuperMapAlgoPlot.GeoTooltipBox=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),0===this.scaleValues.length&&this.scaleValues.push(.126),this.CLASS_NAME="SuperMapAlgoPlot.GeoTooltipBox"}destroy(){super.destroy()}calculateParts(){this.init();var t=this.scaleValues[0];if(!(t<0||t>1)){if(t=(1-t)/2,this.controlPoints.length>=this.minEditPts){var e,i,o,l,s,n;this.controlPoints[2]&&(this.controlPoints[2].isFixedPos=!0),this.controlPoints[0].xi?Math.abs((n-i)/(s-e))>r?2:1:nr?4:1:s>o?n>i?Math.abs((n-i)/(s-o))>r?2:3:nr?4:3:n>i?2:no?Math.abs((a-o)/(n-i))>p?2:1:ap?4:1:n>l?a>o?Math.abs((a-o)/(n-l))>p?2:3:ap?4:3:a>o?2:ao&&(h=o),h<(o+s)/2&&(h=(o+s)/2),u=1-2*(o-h)/(o-s);break;case 2:case 4:var g=r.x+(e.x-r.x);g>l&&(g=l),g<(i+l)/2&&(g=(i+l)/2),u=1-2*(l-g)/(l-i)}u<0&&(u=0),u>1&&(u=1),this.scaleValues[0]=u}this.calculateParts()}};SuperMapAlgoPlot.GeoTooltipBoxM=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),0===this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0)),this.CLASS_NAME="SuperMapAlgoPlot.GeoTooltipBoxM"}destroy(){super.destory()}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length>=this.minEditPts){var e,i,o,l;t[0].xo?Math.abs((e-o)/(t-i))>n?2:1:en?4:1:t>l?e>o?Math.abs((e-o)/(t-l))>n?2:3:en?4:3:e>o?2:e1)){if(t=(1-t)/2,this.controlPoints.length>=this.minEditPts){var e,i,o,l;this.scalePoints=[];var s=[];this.controlPoints[0].x=2&&this.controlPoints.lengtho?Math.abs((a-o)/(n-i))>p?2:1:ap?4:1:n>l?a>o?Math.abs((a-o)/(n-l))>p?2:3:ap?4:3:a>o?2:ao&&(h=o),h<(o+s)/2&&(h=(o+s)/2),u=1-2*(o-h)/(o-s);break;case 2:case 4:var g=r.x+(e.x-r.x);g>l&&(g=l),g<(i+l)/2&&(g=(i+l)/2),u=1-2*(l-g)/(l-i)}u<0&&(u=0),u>1&&(u=1),this.scaleValues[0]=u}this.calculateParts()}calculateArc(t,e,i,o,l,s){(!l||1!=l&&-1!=l)&&(l=-1),s||(s=360);var n=Math.PI/s/2,a=n*l,r=Math.abs(o-i),p=[];for(let o=i,l=0;l2*Math.PI?o-2*Math.PI:o}return p}getAction(t,e,i,o,l,s){var n=(o-s)/(l-i);return to?Math.abs((e-o)/(t-i))>n?2:1:en?4:1:t>l?e>o?Math.abs((e-o)/(t-l))>n?2:3:en?4:3:e>o?2:e360;)this.scaleValues[0]-=360;for(;this.scaleValues[0]<0;)this.scaleValues[0]+=360;for(;this.scaleValues[1]>360;)this.scaleValues[1]-=360;for(;this.scaleValues[1]<0;)this.scaleValues[1]+=360;for(;this.scaleValues[1]<=this.scaleValues[0];)this.scaleValues[1]+=360;SuperMapAlgoPlot.PlottingUtil.equalFuzzy(this.scaleValues[1],this.scaleValues[0])&&(this.scaleValues[1]+=360);var e=[];for(let c=0;c0){var r=[];for(let t=0;t=0;t--)r.push(o[t]);this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,r,{surroundLineFlag:!1,lineWidthLimit:!0,weight:0,strokeWidth:0})}e.length=0;for(let t=0;t360;)o-=360;for(;o<0;)o+=360;t%2==0?this.scaleValues[0]=o:t%2==1&&(this.scaleValues[1]=o)}this.calculateParts()}};SuperMapAlgoPlot.CombinationalCircle=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),this.angleRange=[],this.defaultRadius=t.defaultRadius?t.defaultRadius:60,this.CLASS_NAME="SuperMapAlgoPlot.CombinationalCircle"}calculateParts(){if(this.init(),this.controlPoints=SuperMapAlgoPlot.PlottingUtil.clearSamePts(this.controlPoints),null==this.controlPoints||this.controlPoints.length<1)return;var t=this.getCircleLonLat(this.controlPoints[0],this.defaultRadius);this.angleRange=[];for(let e=0;eMath.abs(this.scaleValues[t]-this.scaleValues[p]))for(let u=0;u<2;u++){var o,l,s;0==u?(s=t,o=SuperMapAlgoPlot.PlottingUtil.radian(e[t],e[p])*SuperMapAlgoPlot.PlottingUtil.RTOD,l=Math.acos((i*i+this.scaleValues[t]*this.scaleValues[t]-this.scaleValues[p]*this.scaleValues[p])/(2*i*this.scaleValues[t]))*SuperMapAlgoPlot.PlottingUtil.RTOD):(s=p,o=SuperMapAlgoPlot.PlottingUtil.radian(e[p],e[t])*SuperMapAlgoPlot.PlottingUtil.RTOD,l=Math.acos((i*i+this.scaleValues[p]*this.scaleValues[p]-this.scaleValues[t]*this.scaleValues[t])/(2*i*this.scaleValues[p]))*SuperMapAlgoPlot.PlottingUtil.RTOD);var n=o-l,a=o+l,r=n<0&&a>0||n>360||a>360;n=this.adjustAngle(n),a=this.adjustAngle(a);for(let t=this.angleRange[s].length-1;t>=0;t--)if(r){if(a>this.angleRange[s][t].End||SuperMapAlgoPlot.PlottingUtil.equalFuzzy(a,this.angleRange[s][t].End)){this.angleRange[s].splice(t,1);continue}if(a>this.angleRange[s][t].Start&&(this.angleRange[s][t].Start=a),nthis.angleRange[s][t].End)this.angleRange[s].splice(t,1);else if(n>this.angleRange[s][t].Start&&athis.angleRange[s][t].End)continue;if(n>this.angleRange[s][t].Start&&(this.angleRange[s][t].End=n),a=0;i--){for(var u=this.adjustAngle(this.angleRange[t][i].Start),h=this.adjustAngle(this.angleRange[t][i].End);h=0;t--)for(let e=0;e=0;i--)e.push(t[l][i]);if(t.splice(l,1),void 0!==(i=this.generatePolygon(t,e))&&0!==i.length)return i}}modifyPoint(t,e){if(!0===e.isScalePoint){if(t<0||t>=this.controlPoints.length)return;var i=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints),o=SuperMapAlgoPlot.PlottingUtil.distance(i[t],e);this.scaleValues[t]=o}this.calculateParts()}adjustAngle(t){for(;t>360;)t-=360;for(;t<0;)t+=360;return t}getCircleLonLat(t,e){return null===this.map?2*this.getDefaultSubSymbolSize():this.map&&"undefined"!=typeof L&&void 0!==L.Map&&this.map instanceof L.Map?((i=this.map.latLngToLayerPoint(L.latLng(t.y,t.x))).x+=e,this.map.layerPointToLatLng(L.point(i.x,i.y)).lng-t.x):this.map&&"undefined"!=typeof SuperMap&&void 0!==SuperMap.Map&&this.map instanceof SuperMap.Map?((i=this.map.getPixelFromLonLat(new SuperMap.LonLat(t.x,t.y))).x+=e,this.map.getLonLatFromPixel(new SuperMap.Pixel(i.x,i.y)).lon-t.x):void 0;var i}};SuperMapAlgoPlot.FreeCurve=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),this.CLASS_NAME="SuperMapAlgoPlot.FreeCurve"}calculateParts(){if(this.init(),!(null==this.controlPoints||this.controlPoints.length2*this.controlPoints.length-1)return;var i=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if(2>i.length)return;var o=SuperMapAlgoPlot.PlottingUtil.polylineDistance(i),l=-1;l=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var s=(e.x-i[l].x)/o,n=(e.y-i[l].y)/o;this.scaleValues[2*t]=s,this.scaleValues[2*t+1]=n}this.calculateParts()}reSample(t,e){var i=[];if(null==t||e<0)return i;var o=t.length;if(o>2){var l=new SuperMapAlgoPlot.Point(0,0),s=0,n=0,a=0,r=2*Math.PI;l=t[0],i.push(l);var p=!1,u=!1,h=!1;for(let P=1;P0||SuperMapAlgoPlot.PlottingUtil.equalFuzzy(0,c)?Math.acos(g):2*Math.PI-Math.acos(g),r>2*Math.PI&&s+2*Math.PIa&&(s-=2*Math.PI,r>2*Math.PI&&(r-=2*Math.PI)),s>a&&ss+y&&(r=s+y):(h=!0,r=s+y),p=!0}else l=t[P-1],P--,i.push(l),a=0,r=2*Math.PI,p=!1,u=!1,h=!1}return i.push(t[o-1]),i}return i}reSampleByAngle(t,e){var i=[],o=t.length;if(null==t||o<=0||e<=0)return i;for(var l=t,s=o,n=!1;SuperMapAlgoPlot.PlottingUtil.equalFuzzy(l[0].x,l[s-1].x)&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(l[0].y,l[s-1].y);){if((s-=1)<=0)return i;n=!0}var a,r,p=[];for(a=0;a1e-10&&SuperMapAlgoPlot.PlottingUtil.distance(l[r],l[a+1])>1e-10){var u=180*SuperMapAlgoPlot.PlottingUtil.InnerAngle(l[a],l[r],l[a+1])/Math.PI;u>e&&u<180-e&&(p[a]=1,r++)}var h=0;for(a=0;a0){for(n&&h++,i=[],r=0,a=0;a0)for(let e=0;e=this.minEditPts){var t=this.controlPoints[0],e=this.controlPoints[1],i=SuperMapAlgoPlot.PlottingUtil.distance(t,e),o=this.scaleValues[0]*i,l=SuperMapAlgoPlot.PlottingUtil.parallel(this.controlPoints,o/2),s=SuperMapAlgoPlot.PlottingUtil.parallel(this.controlPoints,-o/2),n=180*SuperMapAlgoPlot.PlottingUtil.radian(t,e)/Math.PI,a=[];for(let e=n+90;e<=n+270;e+=10){var r=SuperMapAlgoPlot.PlottingUtil.circlePoint(t,o/2,o/2,e);a.push(r)}var p=[];for(let t=n-90;t<=n+90;t+=10){var u=SuperMapAlgoPlot.PlottingUtil.circlePoint(e,o/2,o/2,t);p.push(u)}var h=[];(h=(h=(h=(h=h.concat(a)).concat(s)).concat(p)).concat(l)).push(h[0]),this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,h);var g=new SuperMapAlgoPlot.Point(a[0].x,a[0].y);this.addScalePoint(g)}}modifyPoint(t,e){if(!0===e.isScalePoint&&0==t){var i=SuperMapAlgoPlot.PlottingUtil.distance(e,this.controlPoints[0]),o=SuperMapAlgoPlot.PlottingUtil.distance(this.controlPoints[0],this.controlPoints[1]);this.scaleValues[0]=2*i/o}this.calculateParts()}};SuperMapAlgoPlot.CurveEight=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),this.CLASS_NAME="SuperMapAlgoPlot.CurveEight"}destroy(){super.destroy()}calculateParts(){if(this.init(),this.controlPoints&&null!==this.controlPoints&&!(this.minEditPts>this.controlPoints.length))if(2===this.controlPoints.length){let t=this.controlPoints[0].clone(),e=this.controlPoints[1].clone(),i=SuperMapAlgoPlot.PlottingUtil.distance(t,e)/2,o=180*SuperMapAlgoPlot.PlottingUtil.radian(t,e)/Math.PI,l=new SuperMapAlgoPlot.Point((t.x+e.x)/2,(t.y+e.y)/2),s=SuperMapAlgoPlot.PlottingUtil.circlePoint(l,i,i,o+90),n=SuperMapAlgoPlot.PlottingUtil.circlePoint(l,3*i,3*i,o+90);this.addCell(SuperMapAlgoPlot.SymbolType.CIRCLESYMBOL,[s,new SuperMapAlgoPlot.Point(s.x+i,s.y)]),this.addCell(SuperMapAlgoPlot.SymbolType.CIRCLESYMBOL,[n,new SuperMapAlgoPlot.Point(n.x+i,n.y)])}else{let n=this.controlPoints[0].clone(),a=this.controlPoints[1].clone(),r=this.controlPoints[2].clone(),p=0;p=SuperMapAlgoPlot.PlottingUtil.isRight(r,n,a)?180*SuperMapAlgoPlot.PlottingUtil.radian(a,n)/Math.PI+90:180*SuperMapAlgoPlot.PlottingUtil.radian(n,a)/Math.PI+90;let u=SuperMapAlgoPlot.PlottingUtil.distance(n,a)/2,h=new SuperMapAlgoPlot.Point((n.x+a.x)/2,(n.y+a.y)/2),g=SuperMapAlgoPlot.PlottingUtil.circlePoint(h,u,u,p),c=SuperMapAlgoPlot.PlottingUtil.plumbLineLen(r,n,a);if(c<=4*u){var t=SuperMapAlgoPlot.PlottingUtil.circlePoint(h,3*u,3*u,p);this.addCell(SuperMapAlgoPlot.SymbolType.CIRCLESYMBOL,[g,new SuperMapAlgoPlot.Point(g.x+u,g.y)]),this.addCell(SuperMapAlgoPlot.SymbolType.CIRCLESYMBOL,[t,new SuperMapAlgoPlot.Point(t.x+u,t.y)])}else{let t=SuperMapAlgoPlot.PlottingUtil.circlePoint(h,c-u,c-u,p),n=180*Math.acos(u/(c-2*u))/Math.PI,a=p-n,r=p-180+n,y=p-180-n+360;var e=[];for(let t=p+n-360;t<=a;t+=4){let i=SuperMapAlgoPlot.PlottingUtil.circlePoint(g,u,u,t);e.push(i)}var i=SuperMapAlgoPlot.PlottingUtil.circlePoint(g,u,u,a);e.push(i);var o=[];for(let e=r;e=0;t--)s.push(o[t]);this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,s)}}}};SuperMapAlgoPlot.PathText=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),this.relLineText=t.relLineText?t.relLineText:0,this.showPathLine=!t.showPathLine||t.showPathLine,this.showPathLineArrow=!!t.showPathLineArrow&&t.showPathLineArrow,this.isCurve=!!t.isCurve&&t.isCurve,this.isAvoid=!!t.isAvoid&&t.isAvoid,this.textToLineDistance=t.textToLineDistance?t.textToLineDistance:0,this.fontSpace=t.fontSpace?t.fontSpace:0,this.dNowPassedDistance=t.dNowPassedDistance?t.dNowPassedDistance:2,this.isScalePoint=!1,this.oldPathTextStart=void 0,this.oldDNowPassedDistance=2,this.CLASS_NAME="SuperMapAlgoPlot.PathText"}calculateParts(){if(this.init(),null!==this.controlPoints&&0!==this.controlPoints.length&&!(this.controlPoints.length1?this.computeText(this.textPathPts,this.textContent[1],t):this.computeText(this.textPathPts,this.textContent[0],t),this.relLineText=SuperMapAlgoPlot.RelLineText.ONBOTHLINE,this.showPathLine=e}else this.relLineText===SuperMapAlgoPlot.RelLineText.ONRIGHTLINE?this.textPathPts=this.getTextPathPts(t,!1):this.relLineText===SuperMapAlgoPlot.RelLineText.ONLEFTLINE?this.textPathPts=this.getTextPathPts(t,!0):this.textPathPts=t,this.computeText(this.textPathPts,this.textContent[0],t);this.finish()}}getTextPathPts(t,e){t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t);var i=this.getLonLatDistanceFromPixel(this.textToLineDistance);if(0>=i)return SuperMapAlgoPlot.PlottingUtil.clonePoints(t);var o=SuperMapAlgoPlot.PlottingUtil.paraLine(t,i,e);return SuperMapAlgoPlot.PlottingUtil.clearSamePts(o)}computeText(t,e,i){if(!(t.length<2)){var o=e.length,l=t,s=l.length,n=0;for(let t=0;t180&&(A-=360),A<-180&&(A+=360),A>90&&A<=180?(f=-180,S=!0,d=!0):A>-180&&A<-90&&(f=180,S=!0,d=!0),m=!0,0!=f?this.relLineText===SuperMapAlgoPlot.RelLineText.ONLINE||(g=this.relLineText===SuperMapAlgoPlot.RelLineText.ONLEFTLINE?"lt":"lb"):this.relLineText===SuperMapAlgoPlot.RelLineText.ONLINE||(g=this.relLineText===SuperMapAlgoPlot.RelLineText.ONLEFTLINE?"lb":"lt");for(let t=0;tn);t++){0===t&&(this.oldDNowPassedDistance=this.dNowPassedDistance);var T=t;for(d&&(T=o-t-1),P=c[T],L=m?P.getWidth():P.getHeight(),S&&(this.dNowPassedDistance+=L);r<=this.dNowPassedDistance&&p=0){var C=[];for(let t=0;t<=b.index;t++)C.push(i[t]);C.push(b.pt),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,C)}if(I.index>=0){var E=[];E.push(I.pt);for(let t=I.index+1;t2){var o=-1;for(let l=t.length-2;l>=0;l--)if(e1)){if(t=(1-t)/2,this.controlPoints.length>=this.minEditPts){var e,i,o,l;this.scalePoints=[];var s=[];this.controlPoints[0].x=2&&this.controlPoints.lengtho?Math.abs((e-o)/(t-i))>n?2:1:en?4:1:t>l?e>o?Math.abs((e-o)/(t-l))>n?2:3:en?4:3:e>o?2:e=this.minEditPts&&this.computeLine(t)}computeLine(t){this.components.length=0;var e=t[0],i=t[t.length-1];this.subSectionCount<=1&&(this.subSectionCount=10);var o=SuperMapAlgoPlot.PlottingUtil.distance(e,i)/(2*this.subSectionCount-1);if(this.lineRelationType===SuperMapAlgoPlot.LineRelationType.SOLID)this.addCell(24,t,{surroundLineFlag:!1});else if(this.lineRelationType===SuperMapAlgoPlot.LineRelationType.DASH)for(let t=0;t=this.minEditPts){if(this.addCell(32,t,{surroundLineFlag:!1}),this.textContent&&null!=this.textContent&&this.textContent.length>0){var e=[];this.scaleValues[1]>t.length&&(this.scaleValues[1]=0);var i={labelRotation:0,surroundLineFlag:!1,labelAlign:"lt"};if(0===this.scaleValues[1])e=[SuperMapAlgoPlot.PlottingUtil.getPolygonCenterPt(t)];else{var o=null,l=null;this.scaleValues[1]===t.length?(o=t[t.length-1],l=t[0]):(o=t[this.scaleValues[1]-1],l=t[this.scaleValues[1]]),i.labelRotation=-SuperMapAlgoPlot.PlottingUtil.radian(o,l)/Math.PI*180;var s=this.scaleValues[0]*SuperMapAlgoPlot.PlottingUtil.distance(o,l);e=[SuperMapAlgoPlot.PlottingUtil.findPoint(o,l,s,0)]}this.addCell(34,e,i,this.textContent);var n=new SuperMapAlgoPlot.Point(e[0].x,e[0].y);n.isScalePoint=!0,n.tag=0,this.scalePoints=[],this.addScalePoint(n)}}else this.controlPoints.length>=2&&this.controlPoints.lengthi);t++){var a=SuperMapAlgoPlot.PlottingUtil.findPointInPolyLine(s,l+o*t);if(-1!==a.index){var r=new SuperMapAlgoPlot.Point(a.pt.x,a.pt.y),p=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(o/2,e[a.index],r);this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,[p.pntLeft,p.pntRight])}}this.finish()}}};SuperMapAlgoPlot.LinearArrow=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),0===this.scaleValues.length&&(this.scaleValues.push(15),this.scaleValues.push(7.5),this.scaleValues.push(0),this.scaleValues.push(15),this.scaleValues.push(7.5),this.scaleValues.push(0)),this.CLASS_NAME="SuperMapAlgoPlot.LinearArrow"}calculateParts(){if(this.init(),!(null==this.controlPoints||this.controlPoints.length1&&(this.scaleValues[2]=1)}}else if(2===t){let t=SuperMapAlgoPlot.PlottingUtil.pointProjectToSegment(e,i[0],i[1]);if(t.isOnline){let o=this.scaleValues[3]*(this.style.weight||this.style.strokeWidth),l=this.getLonLatDistanceFromPixel(o),s=l*this.scaleValues[5],n=SuperMapAlgoPlot.PlottingUtil.findPointInLine(i[1],i[0],l),a=SuperMapAlgoPlot.PlottingUtil.findPointInLine(n,i[1],s);l=SuperMapAlgoPlot.PlottingUtil.distance(i[1],t.projectPoint),o=this.getPixelDistanceFromLonLat(l),this.scaleValues[3]=o/(this.style.weight||this.style.strokeWidth);let r=SuperMapAlgoPlot.PlottingUtil.distance(e,t.projectPoint),p=this.getPixelDistanceFromLonLat(r);this.scaleValues[4]=p/(this.style.weight||this.style.strokeWidth),s=SuperMapAlgoPlot.PlottingUtil.distance(a,t.projectPoint),this.scaleValues[5]=s/l}}else if(3===t){let t=this.scaleValues[3]*(this.style.weight||this.style.strokeWidth),o=this.getLonLatDistanceFromPixel(t),l=SuperMapAlgoPlot.PlottingUtil.findPointInLine(i[1],i[0],o),s=SuperMapAlgoPlot.PlottingUtil.pointProjectToSegment(e,l,i[1]);if(s.isOnline){let t=SuperMapAlgoPlot.PlottingUtil.distance(l,s.projectPoint);this.scaleValues[5]=t/o,this.scaleValues[5]<0?this.scaleValues[5]=0:this.scaleValues[5]>1&&(this.scaleValues[5]=1)}}}this.calculateParts()}};SuperMapAlgoPlot.Polybezier=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t)}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length2*this.controlPoints.length-1)return;var i=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if(i=SuperMapAlgoPlot.PlottingUtil.clearSamePts(i),this.minEditPts>i.length)return;var o=SuperMapAlgoPlot.PlottingUtil.generateBeizerPointsNoCtrlPt(i);o=SuperMapAlgoPlot.PlottingUtil.clearSamePts(o);var l=SuperMapAlgoPlot.PlottingUtil.polylineDistance(i),s=SuperMapAlgoPlot.PlottingUtil.polylineDistance(o);if(SuperMapAlgoPlot.PlottingUtil.equalFuzzy(l,0)||SuperMapAlgoPlot.PlottingUtil.equalFuzzy(s,0))return;var n=-1;n=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var a=(e.x-i[n].x)/l,r=(e.y-i[n].y)/l;this.scaleValues[2*t]=a,this.scaleValues[2*t+1]=r}}};SuperMapAlgoPlot.NewPie=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),this.CLASS_NAME="SuperMapAlgoPlot.NewPie"}destroy(){super.destroy()}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length>=this.minEditPts){var e=SuperMapAlgoPlot.PlottingUtil.distance(t[0],t[1]),i=SuperMapAlgoPlot.PlottingUtil.radian(t[0],t[2]),o=SuperMapAlgoPlot.PlottingUtil.radian(t[0],t[1]),l=[];l.push(t[0]),(l=l.concat(SuperMapAlgoPlot.Primitives.getArcCircleSpatialData(t[0],e,i,o))).push(t[0]),0!==l.length&&this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,l)}}};SuperMapAlgoPlot.NewArc=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),this.CLASS_NAME="SuperMapAlgoPlot.NewArc"}destroy(){super.destroy()}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length>=this.minEditPts){var e=SuperMapAlgoPlot.PlottingUtil.distance(t[0],t[1]),i=SuperMapAlgoPlot.PlottingUtil.radian(t[0],t[2]),o=SuperMapAlgoPlot.PlottingUtil.radian(t[0],t[1]),l=SuperMapAlgoPlot.Primitives.getArcCircleSpatialData(t[0],e,i,o);0!==l.length&&this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,l)}}};SuperMapAlgoPlot.NewChord=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),this.CLASS_NAME="SuperMapAlgoPlot.NewChord"}destroy(){super.destroy()}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length>=this.minEditPts){var e=SuperMapAlgoPlot.PlottingUtil.distance(t[0],t[1]),i=SuperMapAlgoPlot.PlottingUtil.radian(t[0],t[2]),o=SuperMapAlgoPlot.PlottingUtil.radian(t[0],t[1]),l=[];l.push(t[1]),(l=l.concat(SuperMapAlgoPlot.Primitives.getArcCircleSpatialData(t[0],e,i,o))).push(t[1]),0!==l.length&&this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,l)}}};SuperMapAlgoPlot.AlgoSymbol1001=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),0===this.scaleValues.length&&(this.scaleValues.push(.1),this.scaleValues.push(.2),this.scaleValues.push(0),this.scaleValues.push(.3),this.scaleValues.push(.08)),this.CLASS_NAME="SuperMapAlgoPlot.AlgoSymbol1001"}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints),e=(t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length;if(e>=this.minEditPts){this.scalePoints=[];var i=SuperMapAlgoPlot.PlottingUtil.clonePoints(t),o=!1;void 0!==i[0].z&&(o=!0);var l=SuperMapAlgoPlot.ArrowToolkit.generateArrowBodyShapePts(t,this.scaleValues,SuperMapAlgoPlot.ArrowToolkit.ArrowBodyType.ARROWBODY_PARALLEL),s=l.arrowTouLen,n=l.leftBodyPts,a=l.rightBodyPts,r=[];r.push(n[n.length-1]),r.push(a[a.length-1]);var p=[];p.push(this.scaleValues[3]),p.push(this.scaleValues[4]),p.push(this.scaleValues[0]),p.push(this.scaleValues[1]);var u=SuperMapAlgoPlot.ArrowToolkit.generateArrowHeadShapePts(t,r,p,s,SuperMapAlgoPlot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITHOUT_EAR),h=[];if(o){var g=[],c=[],y=[];for(let t=0;t=0;t--)h.push(y[t]);let t=new SuperMapAlgoPlot.Point((r[0].x+r[1].x)/2,(r[0].y+r[1].y)/2),o=new SuperMapAlgoPlot.Point(t.x,t.y);o.isScalePoint=!0,o.tag=0,this.addScalePoint(o);let l=new SuperMapAlgoPlot.Point(n[n.length-1].x,n[n.length-1].y);l.isScalePoint=!0,l.tag=1,this.addScalePoint(l);let s=new SuperMapAlgoPlot.Point(u[0].x,u[0].y);s.isScalePoint=!0,s.tag=2,this.addScalePoint(s);for(let t=0;t=0;t--)h.push(a[t]);let t=new SuperMapAlgoPlot.Point((r[0].x+r[1].x)/2,(r[0].y+r[1].y)/2),e=new SuperMapAlgoPlot.Point(t.x,t.y);e.isScalePoint=!0,e.tag=0,this.addScalePoint(e);let i=new SuperMapAlgoPlot.Point(n[n.length-1].x,n[n.length-1].y);i.isScalePoint=!0,i.tag=1,this.addScalePoint(i);let o=new SuperMapAlgoPlot.Point(u[0].x,u[0].y);o.isScalePoint=!0,o.tag=2,this.addScalePoint(o)}this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,h,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:0,weight:0}),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,h)}}modifyPoint(t,e){if(!0===e.isScalePoint){var i=new SuperMapAlgoPlot.Point(this.scalePoints[0].x,this.scalePoints[0].y),o=new SuperMapAlgoPlot.Point(this.scalePoints[1].x,this.scalePoints[1].y),l=new SuperMapAlgoPlot.Point(this.scalePoints[2].x,this.scalePoints[2].y),s=this.scaleValues[0],n=SuperMapAlgoPlot.PlottingUtil.polylineDistance(this.controlPoints),a=n*s;if(0==t){let t=SuperMapAlgoPlot.PlottingUtil.pointProjectToSegment(e,this.controlPoints[this.controlPoints.length-2],this.controlPoints[this.controlPoints.length-1]),i=t.projectPoint;if(t.isOnline){let t=SuperMapAlgoPlot.PlottingUtil.distance(i,this.controlPoints[this.controlPoints.length-1]);this.scaleValues[0]=t/n}}else if(1==t){let t=SuperMapAlgoPlot.PlottingUtil.pointProjectToSegment(e,o,l).projectPoint,s=SuperMapAlgoPlot.PlottingUtil.distance(t,i);this.scaleValues[1]=s/a}else if(2==t){let t=SuperMapAlgoPlot.PlottingUtil.pointProjectToSegment(e,this.controlPoints[1],l).projectPoint,o=SuperMapAlgoPlot.PlottingUtil.pointProjectToSegment(t,i,this.controlPoints[1]),s=o.projectPoint,n=SuperMapAlgoPlot.PlottingUtil.distance(s,i);!0===o.inOnline?this.scaleValues[4]=-n/a:this.scaleValues[4]=n/a}}this.calculateParts()}};SuperMapAlgoPlot.AlgoSymbol1002=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),this.MIN_GEOPT_COUNT=2,this.MAX_GEOPT_COUNT=1024,this.SV1_defaultATLenDivABLen=0,this.SV2_defaultAYPosScale=.65,this.SV_AJCtrl=.6,this.SV_ArrowWoCtrl=.6,this.SV2_DefaultAJWidDiviedByATLen=.148,this.SV3_DefaultAEWidDividedByATLen=.4,this.SV4_DefaultAELenDividedByATLen=.3,this.SV_ATScaleParameter=1.25,this.SV_ATLenDividedByATWid=1.35,this.SV_ATWidDividedByArrowWeiWid=.5,this.AB_VERTEX_COUNT=4,this.MIN_PTCOUNT_PERARROW=3,this.ATL_DIV_AWW=.7,this.ATL_DIV_ABL=.12,this.ATL_DIV_ABL_1=.18,this.DEFAULT_ARROW_TAIL_POS=.12,this.DUOJIANTOU_TAIL_RATE_1=8,this.DUOJIANTOU_TAIL_RATE_2=3,this.DUOJIANTOU_TAIL_RATE_3=.6,this.AB_CTRLPT_RATE1=0,this.AB_CTRLPT_RATE2=3,this.AB_CTRLPT_RATE3=.5,this.MIN_SCALEVALUE=.1,this.MAX_SCALEVALUE=1,this.m_scalePoints=null,this.CLASS_NAME="SuperMapAlgoPlot.AlgoSymbol1002"}calculateParts(){this.init(),this.m_scalePoints=[];var t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(this.controlPoints);if((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length>=2&&t.length2*o-1){for(let t=0;tg[t].length)){var d=p[t][p[t].length-1],m=u[t][0],f=new SuperMapAlgoPlot.Point(.5*(d.x+m.x),.5*(d.y+m.y)),L=g[t][g[t].length-1],M=g[t][g[t].length-2],b=this.ComputeZValue(f,L,M),A={x:f.x,y:f.y,z:b},T=[],v=[];for(let e=0;e=0;e--)if(t==o-1)_.push(g[t][e]);else{let i={x:g[t][e].x,y:g[t][e].y,z:.5*(g[t][e].z+g[t+1][e].z)};_.push(i)}this.ComputeBeizerZValueByDis(_,u[t],T),P.push(T),T=[];var x=h[t];for(let t=0;t0&&this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,O,{surroundLineFlag:!1}),this.scalePoints=this.scalePoints.concat(this.m_scalePoints),!0}n.shapePts.length>0&&(this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,n.shapePts,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:0,weight:0}),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,n.shapePts,{surroundLineFlag:!1})),this.scalePoints=[];for(let t=0;tthis.MAX_SCALEVALUE?s=this.MAX_SCALEVALUE:s3){var n=o-1;for(let t=0,i=n;t3){var s=o-1;for(let t=0,i=s;t0)if(1==t)i.push(0);else{var o=SuperMapAlgoPlot.PlottingUtil.distance(e[0],e[this.MIN_PTCOUNT_PERARROW]);i.push(o);for(var l=1,s=this.MIN_PTCOUNT_PERARROW;lL&&(f=.5*L);var M=f*g;P.push(P[u].clone());var b,A=0;b=S-f;var T=[],v=0;for(v=2;v<=u;v++)A+=SuperMapAlgoPlot.PlottingUtil.distance(P[v-1],P[v-2]),SuperMapAlgoPlot.PlottingUtil.equalFuzzy(b,0,1e-14)?T[v]=0:SuperMapAlgoPlot.PlottingUtil.equalFuzzy(b-A,0,1e-14)?T[v]=M:T[v]=M+(d-M)*Math.pow((b-A)/b,this.SV_ATScaleParameter);T[u+1]=M;var _=new SuperMapAlgoPlot.Point(0,0),x=new SuperMapAlgoPlot.Point(0,0),O=new SuperMapAlgoPlot.Point(0,0);for(v=2;v<=u;v++){SuperMapAlgoPlot.PlottingUtil.getTrianglePoints(this.AB_CTRLPT_RATE1,this.AB_CTRLPT_RATE2,P[v-2],P[v-1],P[v],x,O),u==v&&SuperMapAlgoPlot.PlottingUtil.getTrapezoidPoints(this.AB_CTRLPT_RATE3,P[u],P[u-1],O,_);let t=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(T[v],x,P[v-1]);s[v]=t.pntLeft,l[v]=t.pntRight}var w,I,C=_.clone();if(SuperMapAlgoPlot.PlottingUtil.distance(P[u],C)>0){var E=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(f,P[u],_);P[u]=E.clone()}for(m=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(M,P[u+1],P[u]),l[u+1]=m.pntLeft,s[u+1]=m.pntRight,v=2;v<=u;v++)SuperMapAlgoPlot.PlottingUtil.getTrianglePoints(this.AB_CTRLPT_RATE2,this.AB_CTRLPT_RATE2,l[v-1],l[v],l[v+1],x,O),n[v]=x.clone(),a[v]=O.clone(),SuperMapAlgoPlot.PlottingUtil.getTrianglePoints(this.AB_CTRLPT_RATE2,this.AB_CTRLPT_RATE2,s[v-1],s[v],s[v+1],x,O),r[v]=x.clone(),p[v]=O.clone();SuperMapAlgoPlot.PlottingUtil.getTrapezoidPoints(this.AB_CTRLPT_RATE3,l[1],l[2],n[2],_),a[1]=_.clone(),SuperMapAlgoPlot.PlottingUtil.getTrapezoidPoints(this.AB_CTRLPT_RATE3,s[1],s[2],r[2],_),p[1]=_.clone(),I=SuperMapAlgoPlot.PlottingUtil.distance(l[u+1],l[u])*(1/3),(w=SuperMapAlgoPlot.PlottingUtil.getExcentrePointOnSegmentByScale(I,P[u],P[u+1])).x+=l[u+1].x-P[u].x,w.y+=l[u+1].y-P[u].y,I=(d-M)*Math.pow(I/b,this.SV_ATScaleParameter+.3),m=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(I,l[u+1],w),n[u+1]=m.pntLeft.clone(),I=SuperMapAlgoPlot.PlottingUtil.distance(s[u+1],s[u])*(1/3),(w=SuperMapAlgoPlot.PlottingUtil.getExcentrePointOnSegmentByScale(I,P[u],P[u+1])).x+=s[u+1].x-P[u].x,w.y+=s[u+1].y-P[u].y,I=(d-M)*Math.pow(I/b,this.SV_ATScaleParameter+.3),m=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(I,s[u+1],w),r[u+1]=m.pntRight.clone();var D=[],U=f*y,N=SuperMapAlgoPlot.PlottingUtil.getExcentrePointOnSegmentByScale(U,P[u],P[u+1]);this.m_scalePoints.push(N.clone()),U=f*c,m=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(U,P[u+1],N),D.push(m.pntRight),D.push(P[u+1]),D.push(m.pntLeft);var R=[];for(R.push(l[u+1]),v=u;v>=1;v--)R.push(n[v+1]),R.push(a[v]),R.push(l[v]);var B=[];for(v=1;v<=u;v++)B.push(s[v]),B.push(p[v]),B.push(r[v+1]);B.push(s[u+1]),o.push.apply(o,B),o.push.apply(o,D),o.push.apply(o,R),i=f/S;var F=[];for(v=R.length-1;v>=0;v--)F.push(R[v]);return{dATLenDivABLen:i,arrowBodyPts:o}}generateAYPts(t,e,i,o,l){var s=new SuperMapAlgoPlot.Point(.5*(t[2].x+i[2].x),.5*(t[2].y+i[2].y)),n=new SuperMapAlgoPlot.Point(.5*(t[1].x+i[1].x),.5*(t[1].y+i[1].y)),a=new SuperMapAlgoPlot.Point(.5*(t[0].x+i[0].x),.5*(t[0].y+i[0].y)),r=SuperMapAlgoPlot.PlottingUtil.distance(s,n),p=SuperMapAlgoPlot.PlottingUtil.distance(a,n),u=l*(r+p),h=new SuperMapAlgoPlot.Point(0,0),g=new SuperMapAlgoPlot.Point(0,0),c=new SuperMapAlgoPlot.Point(0,0);if(u>r){u=r+p-u,h=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(u,a,n);var y=SuperMapAlgoPlot.PlottingUtil.distance(t[1],t[0]),P=SuperMapAlgoPlot.PlottingUtil.distance(i[1],i[0]);y=y*u/p,g=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(y,t[0],t[1]),P=P*u/p,c=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(P,i[0],i[1])}else{h=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(u,s,n);var S=SuperMapAlgoPlot.PlottingUtil.distance(t[1],t[2]),d=SuperMapAlgoPlot.PlottingUtil.distance(i[1],i[2]);S=S*u/r,g=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(S,t[2],t[1]),d=d*u/r,c=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(d,i[2],i[1])}this.m_scalePoints.push(h.clone());var m=this.SV_ArrowWoCtrl*SuperMapAlgoPlot.PlottingUtil.distance(h,g),f=this.SV_ArrowWoCtrl*SuperMapAlgoPlot.PlottingUtil.distance(h,c),L=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(m,h,g),M=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(f,h,c),b=e[11].clone(),A=e[10].clone(),T=o[5].clone(),v=o[6].clone(),_=SuperMapAlgoPlot.PlottingUtil.intersectLines(A,b,h,g),x=SuperMapAlgoPlot.PlottingUtil.distance(_.intersectPoint,A),O=SuperMapAlgoPlot.PlottingUtil.distance(A,h);x=x>O?this.SV_AJCtrl*O:this.SV_AJCtrl*x;var w=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(x,A,b);b=w.clone(),e[11]=w.clone(),_=SuperMapAlgoPlot.PlottingUtil.intersectLines(v,T,h,c),x=(x=SuperMapAlgoPlot.PlottingUtil.distance(_.intersectPoint,v))>(O=SuperMapAlgoPlot.PlottingUtil.distance(v,h))?this.SV_AJCtrl*O:this.SV_AJCtrl*x,T=(w=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(x,v,T)).clone(),o[5]=w.clone();var I=[];I.push(A),I.push(b),I.push(L),I.push(h);var C=[];return C.push(h),C.push(M),C.push(T),C.push(v),{arrowLeftYaoPts:I,arrowRightYaoPts:C}}};SuperMapAlgoPlot.AlgoSymbol1003=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),0===this.scaleValues.length&&(this.scaleValues.push(.3),this.scaleValues.push(.28),this.scaleValues.push(.433333),this.scaleValues.push(.53),this.scaleValues.push(0)),this.CLASS_NAME="SuperMapAlgoPlot.AlgoSymbol1003"}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints),e=(t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length;if(e>=this.minEditPts){if(SuperMapAlgoPlot.PlottingUtil.equalFuzzy(this.controlPoints[0].x,this.controlPoints[1].x)&&SuperMapAlgoPlot.PlottingUtil.equalFuzzy(this.controlPoints[0].y,this.controlPoints[1].y))return;var i=SuperMapAlgoPlot.PlottingUtil.clonePoints(t),o=!1;void 0!==i[0].z&&(o=!0);var l=SuperMapAlgoPlot.ArrowToolkit.generateArrowBodyShapePts(t,this.scaleValues,SuperMapAlgoPlot.ArrowToolkit.ArrowBodyType.ARROWBODY_TRAPEZOID),s=l.arrowTouLen,n=l.leftBodyPts,a=l.rightBodyPts,r=[];r.push(n[n.length-1]),r.push(a[a.length-1]);var p=[];p.push(this.scaleValues[3]),p.push(this.scaleValues[4]),p.push(0),p.push(0);var u=SuperMapAlgoPlot.ArrowToolkit.generateArrowHeadShapePts(t,r,p,s,SuperMapAlgoPlot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITHOUT_EAR),h=[];h=(h=h.concat(n)).concat(u);for(let t=a.length-1;t>=0;t--)h.push(a[t]);if(h.push(n[0]),o){var g=[],c={x:i[1].x,y:i[1].y,z:i[1].z},y={x:i[0].x,y:i[0].y,z:i[0].z};for(let t=0;t=2&&t.length=2;t--)h.push(i[t]);h.push({x:g.x,y:g.y,z:S});var m=[];this.ComputeBeizerZValueByDis(h,n,m);var f=[];for(let t=0;t0&&m.length>0&&f.length>0){p=(p=(p=(p=[]).concat(d)).concat(f)).concat(m),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,p,{surroundLineFlag:!1});var M=[];for(let t=0;t=0;t--)e.push(p[t]),o.push(p[t])}return{shapePts:e,leftBodyPts:i,rightBodyPts:o,arrowHeadPts:l}}updateScalePoints(t){var e=t.length,i=[];if(!(e<3)){var o=SuperMapAlgoPlot.PlottingUtil.polylineDistance(t);if(!SuperMapAlgoPlot.PlottingUtil.equalFuzzy(o,0)){var l=this.operateCtrlPts(t);e=l.length,e--;var s=[];for(let t=0;t0&&m>0){var L=1/(P-y[2].x),M=-1/(S-y[2].y),b=1*y[2].y/(S-y[2].y)-1*y[2].x/(P-y[2].x);f=Math.abs(L*y[0].x+M*y[0].y+b)/Math.sqrt(L*L+M*M)}else m<=1e-4?f=Math.abs(S-y[1].y):d<=1e-4&&(f=Math.abs(P-y[1].x));var A=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(f,y[2],new SuperMapAlgoPlot.Point(P,S)),T=SuperMapAlgoPlot.PlottingUtil.pointIsRightToLine(y[1],y[2],y[0]);T?(n[1]=y[1],a[1]=y[0]):(n[1]=y[0],a[1]=y[1]),y[1]=new SuperMapAlgoPlot.Point((y[0].x+y[1].x)/2,(y[0].y+y[1].y)/2);var v=Math.sqrt((A.pntLeft.x-A.pntRight.x)*(A.pntLeft.x-A.pntRight.x)+(A.pntLeft.y-A.pntRight.y)*(A.pntLeft.y-A.pntRight.y))*this.sv_AtWidthDivAwWidth,_=(o=v*this.sv_AtLenDivAtWidth)*s;SuperMapAlgoPlot.PlottingUtil.equalFuzzy(l,0)||(_=(o=t*l)*s);var x,O,w=SuperMapAlgoPlot.PlottingUtil.distance(y[g],y[g-1]),I=2*o;w0&&(y[g]=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(o,y[g],N)),D=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(_,y[g+1],y[g]),(T=SuperMapAlgoPlot.PlottingUtil.pointIsRightToLine(y[g],y[g+1],D.pntLeft))?(a[g]=new SuperMapAlgoPlot.Point(D.pntLeft.x,D.pntLeft.y),n[g]=new SuperMapAlgoPlot.Point(D.pntRight.x,D.pntRight.y)):(a[g]=new SuperMapAlgoPlot.Point(D.pntRight.x,D.pntRight.y),n[g]=new SuperMapAlgoPlot.Point(D.pntLeft.x,D.pntLeft.y)),C=2;C2)for(let e=0;e0&&this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,r,{surroundLineLimit:!0,lineTypeLimit:!0})}};SuperMapAlgoPlot.AlgoSymbol1006=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),this.QIANJI_RATE1=9,this.QIANJI_RATE2=20,this.QIANJI_RATE4=5,this.QIANJI_RATE3=1/3,this.QIANJI_TAIL_RATE1=8,this.QIANJI_TAIL_RATE2=3,this.QIANJI_TAIL_RATE3=.6,this.SV1_Default=.25,this.SV1_MinValue=0,this.SV1_MaxValue=.5,this.DEFAULT_ARROW_TAIL_POS=.4,this.SCALE_VALUE_COUNT=1,this.MIN_LEN_LeftToRightCenter=1e-7,this.SCALE_AT=1/3,this.SCALE_ATAJ=1/7,this.SCALE_ATAE=1/3,this.SCALE_AW=2/3,this.SCALE_ATAJctrlDefSide=.8,this.SCALE_ATAJctrlSameSide=2/3,this.SCALE_MM_LEFT=.25,this.SCALE_MM_RIGHT=.75,this.BEZIER_K1=1/3,this.QIANJI_OPERATE_RATE1=1,0===this.scaleValues.length&&this.scaleValues.push(this.SV1_Default),this.m_dMaxDis=0,this.m_bIsAnimation=!1,this.CLASS_NAME="SuperMapAlgoPlot.AlgoSymbol1006"}calculateParts(){this.init(),this.m_scalePoints=[];var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length>=2&&t.length0&&this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,g,{surroundLineFlag:!1}),this.m_scalePoints.length>0&&(this.m_scalePoints[0]={x:this.m_scalePoints[0].x,y:this.m_scalePoints[0].y,z:L});for(let t=0;t0&&(this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,x,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:0,weight:0}),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,x,{surroundLineFlag:!1})),this.scalePoints=[];for(let t=0;tthis.SV1_MaxValue&&(i=this.SV1_MaxValue)}else i=SuperMapAlgoPlot.PlottingUtil.distance(n.projectPoint,l)0&&this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,r,e)}else{this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,o);let t={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0,lineTypeLimit:!0,surroundLineLimit:!0};s.length>0&&this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,t)}}}};SuperMapAlgoPlot.AlgoSymbol1008=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),0===this.scaleValues.length&&this.scaleValues.push(.1),this.CLASS_NAME="SuperMapAlgoPlot.AlgoSymbol1008"}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length0&&this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,{surroundLineFlag:!1,fillLimit:!0,fill:!0,lineTypeLimit:!0,surroundLineLimit:!0})}}};SuperMapAlgoPlot.AlgoSymbol1009=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),0===this.scaleValues.length&&this.scaleValues.push(.1),this.CLASS_NAME="SuperMapAlgoPlot.AlgoSymbol1009"}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length=2&&t.length=0;t--)e.push(h[t]),o.push(h[t]);for(let t=1;t=0;t--)e.push(p[t]),o.push(p[t])}return{shapePts:e,leftBodyPts:i,rightBodyPts:o,arrowHeadPts:l}}updateScalePoints(t){var e=t.length,i=[];if(!(e<3)){var o=SuperMapAlgoPlot.PlottingUtil.polylineDistance(t);if(!SuperMapAlgoPlot.PlottingUtil.equalFuzzy(o,0)){var l=this.operateCtrlPts(t);e=l.length,e--;var s=[];for(let t=0;t0&&m>0){var L=1/(P-y[2].x),M=-1/(S-y[2].y),b=1*y[2].y/(S-y[2].y)-1*y[2].x/(P-y[2].x);f=Math.abs(L*y[0].x+M*y[0].y+b)/Math.sqrt(L*L+M*M)}else m<=1e-4?f=Math.abs(S-y[1].y):d<=1e-4&&(f=Math.abs(P-y[1].x));var A=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(f,y[2],new SuperMapAlgoPlot.Point(P,S)),T=SuperMapAlgoPlot.PlottingUtil.pointIsRightToLine(y[1],y[2],y[0]);T?(n[1]=y[1],a[1]=y[0]):(n[1]=y[0],a[1]=y[1]),y[1]=new SuperMapAlgoPlot.Point((y[0].x+y[1].x)/2,(y[0].y+y[1].y)/2);var v=Math.sqrt((A.pntLeft.x-A.pntRight.x)*(A.pntLeft.x-A.pntRight.x)+(A.pntLeft.y-A.pntRight.y)*(A.pntLeft.y-A.pntRight.y))*this.sv_AtWidthDivAwWidth,_=(o=v*this.sv_AtLenDivAtWidth)*s;SuperMapAlgoPlot.PlottingUtil.equalFuzzy(l,0)||(_=(o=t*l)*s);var x,O,w=SuperMapAlgoPlot.PlottingUtil.distance(y[g],y[g-1]),I=2*o;w0&&(y[g]=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(o,y[g],N)),D=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(_,y[g+1],y[g]),(T=SuperMapAlgoPlot.PlottingUtil.pointIsRightToLine(y[g],y[g+1],D.pntLeft))?(a[g]=new SuperMapAlgoPlot.Point(D.pntLeft.x,D.pntLeft.y),n[g]=new SuperMapAlgoPlot.Point(D.pntRight.x,D.pntRight.y)):(a[g]=new SuperMapAlgoPlot.Point(D.pntRight.x,D.pntRight.y),n[g]=new SuperMapAlgoPlot.Point(D.pntLeft.x,D.pntLeft.y)),C=2;C1)if(this.arrowBodyType!==SuperMapAlgoPlot.ArrowToolkit.ArrowBodyType.ARROWBODY_COATTAIL)this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,i);else for(var u=0,h=i.length-1;u1&&this.addCell(f,p,e),r.length>1&&this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,r)}}};SuperMapAlgoPlot.AlgoSymbol1017=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),0===this.scaleValues.length&&(this.scaleValues.push(.1),this.scaleValues.push(.2),this.scaleValues.push(0),this.scaleValues.push(.3),this.scaleValues.push(.3)),this.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1017"}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length>=this.minEditPts){this.scalePoints=[];var e=SuperMapAlgoPlot.PlottingUtil.clonePoints(t);this.isEdit||(this.scaleValues[0]=1.5*this.getSubSymbolScaleValue());var i=SuperMapAlgoPlot.ArrowToolkit.generateArrowBodyShapePts(e,this.scaleValues,SuperMapAlgoPlot.ArrowToolkit.ArrowBodyType.ARROWBODY_PARALLEL),o=i.arrowTouLen,l=i.leftBodyPts,s=i.rightBodyPts,n=[];n.push(l[l.length-1]),n.push(s[s.length-1]);var a=[];a.push(this.scaleValues[3]),a.push(this.scaleValues[4]),a.push(this.scaleValues[0]),a.push(this.scaleValues[1]);var r=SuperMapAlgoPlot.ArrowToolkit.generateArrowHeadShapePts(e,n,a,o,SuperMapAlgoPlot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITHOUT_EAR),p=[];p=(p=p.concat(l)).concat(r);for(let t=s.length-1;t>=0;t--)p.push(s[t]);p.push(p[0]),this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,p,{lineWidthLimit:!0,strokeWidth:0,weight:0,surroundLineFlag:!1});var u=SuperMapAlgoPlot.PlottingUtil.clonePoints(l),h=[];for(let t=s.length-1;t>=0;t--)h.push(s[t]);h=h.concat(u),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,h);var g=SuperMapAlgoPlot.PlottingUtil.clonePoints(r);g.push(s[s.length-1]),g.splice(0,0,l[l.length-1]),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,g,{lineTypeLimit:!0});var c=new SuperMapAlgoPlot.Point((n[0].x+n[1].x)/2,(n[0].y+n[1].y)/2),y=new SuperMapAlgoPlot.Point(c.x,c.y);y.isScalePoint=!0,y.tag=0,this.scalePoints.push(y);var P=new SuperMapAlgoPlot.Point(l[l.length-1].x,l[l.length-1].y);P.isScalePoint=!0,P.tag=1,this.scalePoints.push(P);var S=new SuperMapAlgoPlot.Point(r[0].x,r[0].y);S.isScalePoint=!0,S.tag=2,this.scalePoints.push(S),this.finish()}}modifyPoint(t,e){if(!0===e.isScalePoint){var i=new SuperMapAlgoPlot.Point(this.scalePoints[0].x,this.scalePoints[0].y),o=new SuperMapAlgoPlot.Point(this.scalePoints[1].x,this.scalePoints[1].y),l=new SuperMapAlgoPlot.Point(this.scalePoints[2].x,this.scalePoints[2].y),s=this.scaleValues[0],n=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);n=SuperMapAlgoPlot.PlottingUtil.clearSamePts(n);var a=SuperMapAlgoPlot.PlottingUtil.polylineDistance(n),r=a*s;if(0==t){let t=SuperMapAlgoPlot.PlottingUtil.pointProjectToSegment(e,n[n.length-2],n[n.length-1]),i=t.projectPoint;if(t.isOnline){let t=SuperMapAlgoPlot.PlottingUtil.distance(i,n[n.length-1]);this.scaleValues[0]=t/a}}else if(1==t){let t=SuperMapAlgoPlot.PlottingUtil.pointProjectToSegment(e,o,l).projectPoint,s=SuperMapAlgoPlot.PlottingUtil.distance(t,i);this.scaleValues[1]=s/r}else if(2==t){let t=SuperMapAlgoPlot.PlottingUtil.pointProjectToSegment(e,n[1],l).projectPoint,o=SuperMapAlgoPlot.PlottingUtil.pointProjectToSegment(t,i,n[1]),s=o.projectPoint,a=SuperMapAlgoPlot.PlottingUtil.distance(s,i);!1===o.isOnline&&(this.scaleValues[4]=a/r)}}this.calculateParts()}};SuperMapAlgoPlot.AlgoSymbol1018=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),this.MAX_ARRAY_SIZE=128,this.sv1_DefaultAtLenDivAbLen=0,this.sv2_DefaultAjWidthDivAtLen=.148,this.sv3_DefaultAeWidthDivAtLen=.4,this.sv4_DefaultAeLenDivAtLen=.312,this.sv_AtScaleParameter=1.5,this.sv_AtLenDivAtWidth=1.35,this.sv_AtWidthDivAwWidth=.5,this.sv_defaultAwLenDivAbLen=.15,0===this.scaleValues.length&&(this.scaleValues.push(this.sv1_DefaultAtLenDivAbLen),this.scaleValues.push(this.sv2_DefaultAjWidthDivAtLen),this.scaleValues.push(this.sv3_DefaultAeWidthDivAtLen),this.scaleValues.push(this.sv4_DefaultAeLenDivAtLen)),this.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1018"}calculateParts(){this.init(),this.applyUse()}applyUse(){var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length>=2&&t.length=0;t--)e.push(p[t]),o.push(p[t])}return{shapePts:e,leftBodyPts:i,rightBodyPts:o,arrowHeadPts:l}}updateScalePoints(t){var e=t.length,i=[];if(!(e<3)){var o=SuperMapAlgoPlot.PlottingUtil.polylineDistance(t);if(!SuperMapAlgoPlot.PlottingUtil.equalFuzzy(o,0)){var l=this.operateCtrlPts(t);e=l.length,e--;var s=[];for(let t=0;t0&&m>0){var L=1/(P-y[2].x),M=-1/(S-y[2].y),b=1*y[2].y/(S-y[2].y)-1*y[2].x/(P-y[2].x);f=Math.abs(L*y[0].x+M*y[0].y+b)/Math.sqrt(L*L+M*M)}else m<=1e-4?f=Math.abs(S-y[1].y):d<=1e-4&&(f=Math.abs(P-y[1].x));var A=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(f,y[2],new SuperMapAlgoPlot.Point(P,S)),T=SuperMapAlgoPlot.PlottingUtil.pointIsRightToLine(y[1],y[2],y[0]);T?(n[1]=y[1],a[1]=y[0]):(n[1]=y[0],a[1]=y[1]),y[1]=new SuperMapAlgoPlot.Point((y[0].x+y[1].x)/2,(y[0].y+y[1].y)/2);var v=Math.sqrt((A.pntLeft.x-A.pntRight.x)*(A.pntLeft.x-A.pntRight.x)+(A.pntLeft.y-A.pntRight.y)*(A.pntLeft.y-A.pntRight.y))*this.sv_AtWidthDivAwWidth,_=(o=v*this.sv_AtLenDivAtWidth)*s;SuperMapAlgoPlot.PlottingUtil.equalFuzzy(l,0)||(_=(o=t*l)*s);var x,O,w=SuperMapAlgoPlot.PlottingUtil.distance(y[g],y[g-1]),I=2*o;w0&&(y[g]=SuperMapAlgoPlot.PlottingUtil.getIncentrePointOnSegmentByScale(o,y[g],N)),D=SuperMapAlgoPlot.PlottingUtil.getSidePointsOfLine(_,y[g+1],y[g]),(T=SuperMapAlgoPlot.PlottingUtil.pointIsRightToLine(y[g],y[g+1],D.pntLeft))?(a[g]=new SuperMapAlgoPlot.Point(D.pntLeft.x,D.pntLeft.y),n[g]=new SuperMapAlgoPlot.Point(D.pntRight.x,D.pntRight.y)):(a[g]=new SuperMapAlgoPlot.Point(D.pntRight.x,D.pntRight.y),n[g]=new SuperMapAlgoPlot.Point(D.pntLeft.x,D.pntLeft.y)),C=2;C=0;--t)L.push(m[t]);this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,L,{lineWidthLimit:!0,strokeWidth:0,weight:0,surroundLineFlag:!1}),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,[L[2],L[1],L[7],L[6]],{surroundLineFlag:!1}),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,[L[6],L[5],L[4],L[3],L[2]],{lineTypeLimit:!0,surroundLineFlag:!1}),this.scalePoints=[];var M=m[0].clone();M.isScalePoint=!0,M.tag=0,this.scalePoints.push(M);var b=m[1].clone();b.isScalePoint=!0,b.tag=1,this.scalePoints.push(b);var A=m[2].clone();A.isScalePoint=!0,A.tag=2,this.scalePoints.push(A),this.scalePoints=SuperMapAlgoPlot.ArrowToolkit.afterPtsCrossZone(this.scalePoints),this.finish()}}modifyPoint(t,e){if(e.isScalePoint&&(t>=0||t<3)){var i=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);i=SuperMapAlgoPlot.PlottingUtil.clearSamePts(i),i=SuperMapAlgoPlot.ArrowToolkit.beforePtsCrossZone(i).pts;var o=SuperMapAlgoPlot.PlottingUtil.distance(i[0],i[1]),l=i[0].clone(),s=i[1].clone(),n=e.clone();if(0==t){var a=SuperMapAlgoPlot.PlottingUtil.distance(n,l)/o;this.scaleValues[0]=a}else if(1==t){let t=SuperMapAlgoPlot.PlottingUtil.projectPoint(n,l,s),e=SuperMapAlgoPlot.PlottingUtil.distance(t,n)/o;this.scaleValues[1]=e;let i=SuperMapAlgoPlot.PlottingUtil.distance(t,s)/o;this.scaleValues[3]=i}else if(2==t){let t=SuperMapAlgoPlot.PlottingUtil.projectPoint(n,l,s),e=SuperMapAlgoPlot.PlottingUtil.distance(t,n)/o;this.scaleValues[2]=e;let i=SuperMapAlgoPlot.PlottingUtil.distance(t,s)/o;this.scaleValues[4]=i}}this.calculateParts()}};SuperMapAlgoPlot.AlgoSymbol1020=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),0===this.scaleValues.length&&(this.scaleValues.push(.5),this.scaleValues.push(.222222),this.scaleValues.push(.5),this.scaleValues.push(.5),this.scaleValues.push(.5)),this.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1020"}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length=0;--t)_.push(T[t]);var x=SuperMapAlgoPlot.PlottingUtil.clonePoints(_);x.push(x[0]),this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,x,{lineWidthLimit:!0,strokeWidth:0,weight:0,surroundLineFlag:!1}),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,[_[0],_[1]]),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,[_[2],_[3]]),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,[_[3],_[4],_[5],_[6],_[7]],{lineTypeLimit:!0}),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,[_[7],_[8]]),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,[_[9],_[10]]),this.scalePoints=[];var O=T[0].clone();O.isScalePoint=!0,O.tag=0,this.scalePoints.push(O);var w=T[3].clone();w.isScalePoint=!0,w.tag=1,this.scalePoints.push(w);var I=T[4].clone();I.isScalePoint=!0,I.tag=2,this.scalePoints.push(I),this.scalePoints=SuperMapAlgoPlot.ArrowToolkit.afterPtsCrossZone(this.scalePoints),this.finish()}}modifyPoint(t,e){if(e.isScalePoint&&(t>=0||t<3)){var i=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);i=SuperMapAlgoPlot.PlottingUtil.clearSamePts(i),i=SuperMapAlgoPlot.ArrowToolkit.beforePtsCrossZone(i).pts;var o=SuperMapAlgoPlot.PlottingUtil.distance(i[0],i[1]),l=i[0].clone(),s=i[1].clone(),n=e.clone();if(0==t){let t=SuperMapAlgoPlot.PlottingUtil.distance(n,l)/o;this.scaleValues[0]=t}else if(1==t){let t=SuperMapAlgoPlot.PlottingUtil.projectPoint(n,l,s),e=SuperMapAlgoPlot.PlottingUtil.distance(t,n)/o;this.scaleValues[1]=e;let i=SuperMapAlgoPlot.PlottingUtil.distance(t,s)/o;this.scaleValues[3]=i}else if(2==t){let t=SuperMapAlgoPlot.PlottingUtil.projectPoint(n,l,s),e=SuperMapAlgoPlot.PlottingUtil.distance(t,n)/o;this.scaleValues[2]=e;let i=SuperMapAlgoPlot.PlottingUtil.distance(t,s)/o;this.scaleValues[4]=i}}this.calculateParts()}};SuperMapAlgoPlot.AlgoSymbol1021=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),0===this.scaleValues.length&&this.scaleValues.push(.25),this.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1021",this.QIANJI_RATE1=9,this.QIANJI_RATE2=20,this.QIANJI_RATE4=5,this.QIANJI_RATE3=1/3,this.QIANJI_TAIL_RATE1=8,this.QIANJI_TAIL_RATE2=3,this.QIANJI_TAIL_RATE3=.6,this.SV1_Default=.25,this.SV1_MinValue=0,this.SV1_MaxValue=.5,this.DEFAULT_ARROW_TAIL_POS=.4,this.SCALE_VALUE_COUNT=1,this.MIN_LEN_LeftToRightCenter=1e-7,this.SCALE_AT=1/3,this.SCALE_ATAJ=1/7,this.SCALE_ATAE=1/3,this.SCALE_AW=2/3,this.SCALE_ATAJctrlDefSide=.8,this.SCALE_ATAJctrlSameSide=2/3,this.SCALE_MM_LEFT=.25,this.SCALE_MM_RIGHT=.75,this.BEZIER_K1=1/3,this.QIANJI_OPERATE_RATE1=1,this.m_dMaxDis=0,this.m_bIsAnimation=!1}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t),this.components.length=0,this.m_scalePoints=[],(t=SuperMapAlgoPlot.ArrowToolkit.beforePtsCrossZone(t).pts).length>=2&&t.length0&&(this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,i.shapePts,{strokeWidth:0,weight:0,lineWidthLimit:!0}),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,s),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,n),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,i.LeftArowHead,{lineTypeLimit:!0}),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,i.LeftArowRightBody),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,u),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,h),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,i.RightArowHead,{lineTypeLimit:!0}),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,P),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,S)),this.scalePoints=[];for(let t=0;tthis.SV1_MaxValue&&(o=this.SV1_MaxValue)}else o=SuperMapAlgoPlot.PlottingUtil.distance(a.projectPoint,s)=2&&t.length.7&&(P=.7),this.scaleValues[2]=P}}}};SuperMapAlgoPlot.AlgoSymbol25701=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t)}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).lengtht[e].x&&(i=t[e].x),o0&&(r=!0),S=[];var L=new SuperMapAlgoPlot.Point(u,s.y),M=SuperMapAlgoPlot.PlottingUtil.circlePoint(L,5,5,45);for(let e=0;e0&&(r=!0),p-=a,u+=a}this.finish()}}sortPts2D(t){var e=new SuperMapAlgoPlot.Point(0,0);for(let i=0;it[o+1].y&&(e=t[o],t[o]=t[o+1],t[o+1]=e):t[o].x>t[o+1].x&&(e=t[o],t[o]=t[o+1],t[o+1]=e);return t}};SuperMapAlgoPlot.AlgoSymbol320=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),0===this.scaleValues.length&&(this.scaleValues.push(.1),this.scaleValues.push(.1))}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length.3&&(c=.3),this.scaleValues[1]=c}}}};SuperMapAlgoPlot.AlgoSymbol326=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),0===this.scaleValues.length&&this.scaleValues.push(.05)}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=.5*this.getSubSymbolScaleValue()}var l=this.getLinePts(e,this.scaleValues[0]),s=new SuperMapAlgoPlot.Point((l.startPt.x+l.endPt.x)/2,(l.startPt.y+l.endPt.y)/2),n=SuperMapAlgoPlot.PlottingUtil.radian(l.startPt,l.endPt)*SuperMapAlgoPlot.PlottingUtil.RTOD,a=SuperMapAlgoPlot.PlottingUtil.distance(l.startPt,l.endPt);this.addSubSymbols(s,a,n);var r=[],p=[];for(let t=0;t<=l.startIndex;t++)r.push(e[t]);if(r.push(l.startPt),this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,r),l.endIndex<=e.length){p.push(l.endPt);for(let t=l.endIndex+1;t<=e.length-1;t++)p.push(e[t]);this.addArrow(p,this.scaleValues[1])}var u=i*this.scaleValues[0]*.5,h=SuperMapAlgoPlot.PlottingUtil.circlePoint(s,u,u,n+90);this.addScalePoint(h,0),this.finish()}}addSubSymbols(t,e,i){this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],t,e,i-180)}computeScaleValues(t,e){if(0===t&&!0===e.isScalePoint){var i=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if((i=SuperMapAlgoPlot.PlottingUtil.clearSamePts(i)).length2&&this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,g)}c.push(s.endPt);for(let t=s.endIndex+1;t=t.length?SuperMapAlgoPlot.Primitives.getSpatialData(SuperMapAlgoPlot.SymbolType.KIDNEY,t):SuperMapAlgoPlot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),i=SuperMapAlgoPlot.PlottingUtil.clearSamePts(i),this.addCell(SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL,i);for(let t=0;t<4;t++){var o=Math.floor(t*i.length/4),l=new SuperMapAlgoPlot.Point(i[o].x,i[o].y),s=new SuperMapAlgoPlot.Point(i[o+1].x,i[o+1].y),n=new SuperMapAlgoPlot.Point((l.x+s.x)/2,(l.y+s.y)/2),a=SuperMapAlgoPlot.PlottingUtil.radian(s,n)*SuperMapAlgoPlot.PlottingUtil.RTOD,r=this.scaleValues[0]*e/2,p=SuperMapAlgoPlot.PlottingUtil.circlePoint(n,r,r,a),u=SuperMapAlgoPlot.PlottingUtil.circlePoint(n,4*r,4*r,a+270),h=SuperMapAlgoPlot.PlottingUtil.circlePoint(n,r,r,a+180);this.addCell(SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL,[p,u,h])}this.finish()}}};SuperMapAlgoPlot.AlgoSymbol329=class extends SuperMapAlgoPlot.AlgoSymbol{constructor(t){super(t),0===this.scaleValues.length&&this.scaleValues.push(.05)}calculateParts(){this.init();var t=SuperMapAlgoPlot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMapAlgoPlot.PlottingUtil.clearSamePts(t)).length=t.length?SuperMapAlgoPlot.Primitives.getSpatialData(SuperMapAlgoPlot.SymbolType.KIDNEY,t):SuperMapAlgoPlot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMapAlgoPlot.PlottingUtil.clearSamePts(e);var i=20*this.getSubSymbolScaleValue(),o=.1*this.getSubSymbolScaleValue(),l=SuperMapAlgoPlot.PlottingUtil.polylineDistance(e);i>.05*l?o=.01*(i=.05*l):i<.005*l&&(i=.005*l);for(var s=SuperMapAlgoPlot.PlottingUtil.makeDottedLine(e,i),n=0;n0){var a=s[n-1][s[n-1].length-1],r=s[n][0],p=SuperMapAlgoPlot.PlottingUtil.midPoint(a,r);this.addCell(SuperMapAlgoPlot.SymbolType.CIRCLESYMBOL,[p,new SuperMapAlgoPlot.Point(p.x+o,p.y)],{lineTypeLimit:!0,surroundLineLimit:!0,fillLimit:!0,fillColorLimit:!1,fill:!0})}this.finish()}}};SuperMapAlgoPlot.BasicAlgoSymbolFactory=SuperMapAlgoPlot.BasicAlgoSymbolFactory||{};SuperMapAlgoPlot.BasicAlgoSymbolFactory.getAlgoSymbol=function(t,e,i){if(0===t)switch(e){case SuperMapAlgoPlot.SymbolType.ANNOFRAMESYMBOL:return new SuperMapAlgoPlot.GeoTooltipBox(i);case SuperMapAlgoPlot.SymbolType.ANNOFRAMESYMBOLM:return new SuperMapAlgoPlot.GeoTooltipBoxM(i);case SuperMapAlgoPlot.SymbolType.PATHTEXT:return new SuperMapAlgoPlot.PathText(i);case SuperMapAlgoPlot.SymbolType.ARROWLINE:return new SuperMapAlgoPlot.ArrowLine(i);case SuperMapAlgoPlot.SymbolType.CURVEEIGHT:return new SuperMapAlgoPlot.CurveEight(i);case SuperMapAlgoPlot.SymbolType.RUNWAY:return new SuperMapAlgoPlot.Runway(i);case SuperMapAlgoPlot.SymbolType.CONCENTRICCIRCLE:return new SuperMapAlgoPlot.ConcentricCircle(i);case SuperMapAlgoPlot.SymbolType.COMBINATIONALCIRCLE:return new SuperMapAlgoPlot.CombinationalCircle(i);case SuperMapAlgoPlot.SymbolType.FREECURVE:return new SuperMapAlgoPlot.FreeCurve(i);case SuperMapAlgoPlot.SymbolType.REGULARPOLYGON:return new SuperMapAlgoPlot.RegularPolygon(i);case SuperMapAlgoPlot.SymbolType.BRACESYMBOL:return new SuperMapAlgoPlot.Brace(i);case SuperMapAlgoPlot.SymbolType.TRAPEZOIDSYMBOL:return new SuperMapAlgoPlot.Trapezoid(i);case SuperMapAlgoPlot.SymbolType.SYMBOLTEXTBOX:return new SuperMapAlgoPlot.SymbolTextBox(i);case SuperMapAlgoPlot.SymbolType.NODECHAIN:return new SuperMapAlgoPlot.NodeChain(i);case SuperMapAlgoPlot.SymbolType.LINERELATION:return new SuperMapAlgoPlot.LineRelation(i);case SuperMapAlgoPlot.SymbolType.LINEMARKING:return new SuperMapAlgoPlot.LineMarking(i);case SuperMapAlgoPlot.SymbolType.POLYGONREGION:return new SuperMapAlgoPlot.PolygonRegion(i);case SuperMapAlgoPlot.SymbolType.WIRE:return new SuperMapAlgoPlot.Wire(i);case SuperMapAlgoPlot.SymbolType.LINEARARROW:return new SuperMapAlgoPlot.LinearArrow(i);case SuperMapAlgoPlot.SymbolType.POLYBEZIERSYMBOL:return new SuperMapAlgoPlot.Polybezier(i);case SuperMapAlgoPlot.SymbolType.NEWPIESYMBOL:return new SuperMapAlgoPlot.NewPie(i);case SuperMapAlgoPlot.SymbolType.NEWARCSYMBOL:return new SuperMapAlgoPlot.NewArc(i);case SuperMapAlgoPlot.SymbolType.NEWCHORDSYMBOL:return new SuperMapAlgoPlot.NewChord(i);default:return new SuperMapAlgoPlot.AlgoSymbol(i)}else if(22===t)switch(e){case 1001:return new SuperMapAlgoPlot.AlgoSymbol1001(i);case 1002:return new SuperMapAlgoPlot.AlgoSymbol1002(i);case 1003:return new SuperMapAlgoPlot.AlgoSymbol1003(i);case 1004:return new SuperMapAlgoPlot.AlgoSymbol1004(i);case 1005:return new SuperMapAlgoPlot.AlgoSymbol1005(i);case 1006:return new SuperMapAlgoPlot.AlgoSymbol1006(i);case 1007:return new SuperMapAlgoPlot.AlgoSymbol1007(i);case 1008:return new SuperMapAlgoPlot.AlgoSymbol1008(i);case 1009:return new SuperMapAlgoPlot.AlgoSymbol1009(i);case 1010:return new SuperMapAlgoPlot.AlgoSymbol1010(i);case 1011:return new SuperMapAlgoPlot.AlgoSymbol1011(i);case 1012:return new SuperMapAlgoPlot.AlgoSymbol1012(i);case 1013:return new SuperMapAlgoPlot.AlgoSymbol1013(i);case 1014:return new SuperMapAlgoPlot.AlgoSymbol1014(i);case 1015:return new SuperMapAlgoPlot.AlgoSymbol1015(i);case 1016:return new SuperMapAlgoPlot.AlgoSymbol1016(i);case 1017:return new SuperMapAlgoPlot.AlgoSymbol1017(i);case 1018:return new SuperMapAlgoPlot.AlgoSymbol1018(i);case 1019:return new SuperMapAlgoPlot.AlgoSymbol1019(i);case 1020:return new SuperMapAlgoPlot.AlgoSymbol1020(i);case 1021:return new SuperMapAlgoPlot.AlgoSymbol1021(i);case 1022:return new SuperMapAlgoPlot.AlgoSymbol1022(i);default:return null}else{if(421!==t)return null;switch(e){case 311:return new SuperMapAlgoPlot.AlgoSymbol1004(i);case 315:return new SuperMapAlgoPlot.AlgoSymbol315(i);case 317:return new SuperMapAlgoPlot.AlgoSymbol1006(i);case 318:return new SuperMapAlgoPlot.AlgoSymbol1002(i);case 319:return new SuperMapAlgoPlot.AlgoSymbol15200(i);case 320:return new SuperMapAlgoPlot.AlgoSymbol320(i);case 321:return new SuperMapAlgoPlot.AlgoSymbol321(i);case 322:return new SuperMapAlgoPlot.AlgoSymbol322(i);case 323:return new SuperMapAlgoPlot.AlgoSymbol25701(i);case 324:return new SuperMapAlgoPlot.AlgoSymbol3010106(i);case 325:return new SuperMapAlgoPlot.AlgoSymbol15200(i);case 326:return new SuperMapAlgoPlot.AlgoSymbol326(i);case 327:return new SuperMapAlgoPlot.AlgoSymbol327(i);case 328:return new SuperMapAlgoPlot.AlgoSymbol328(i);case 329:return new SuperMapAlgoPlot.AlgoSymbol329(i);case 330:return new SuperMapAlgoPlot.AlgoSymbol330(i);case 331:return new SuperMapAlgoPlot.AlgoSymbol29101(i);default:return null}}},SuperMapAlgoPlot.BasicAlgoSymbolFactory.getSymbolWayType=function(t,e){if(0===t)switch(e){case SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL:case SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL:return SuperMapAlgoPlot.AddPoint_WayType.POLYLINE;case SuperMapAlgoPlot.SymbolType.POLYBEZIERSYMBOL:case SuperMapAlgoPlot.SymbolType.POLYBEZIERCLOSESYMBOL:return SuperMapAlgoPlot.AddPoint_WayType.CURVE;default:return SuperMapAlgoPlot.AddPoint_WayType.UNKNOWN}else if(22===t)switch(e){case 1005:case 1008:case 1012:case 1014:return SuperMapAlgoPlot.AddPoint_WayType.CURVE;case 1007:case 1009:case 1013:case 1015:case 1017:return SuperMapAlgoPlot.AddPoint_WayType.POLYLINE;default:return SuperMapAlgoPlot.AddPoint_WayType.UNKNOWN}},SuperMapAlgoPlot.BasicAlgoSymbolFactory.isAccessServer=function(t,e){if(0===t||22===t)return!1;if(421!==t)return!0;switch(e){case 311:case 317:case 318:case 315:case 319:case 320:case 321:case 322:case 323:case 324:case 325:case 326:case 327:case 328:case 329:case 330:case 331:return!1;default:return!0}},SuperMapAlgoPlot.BasicAlgoSymbolFactory.getDefaultSubSymbols=function(){return[]},SuperMapAlgoPlot.BasicAlgoSymbolFactory.getMinEditPts=function(t,e){if(0===t)switch(e){case SuperMapAlgoPlot.SymbolType.TEXTSYMBOL:case SuperMapAlgoPlot.SymbolType.COMBINATIONALCIRCLE:return 1;case SuperMapAlgoPlot.SymbolType.CIRCLESYMBOL:case SuperMapAlgoPlot.SymbolType.RECTANGLESYMBOL:case SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL:case SuperMapAlgoPlot.SymbolType.POLYBEZIERSYMBOL:case SuperMapAlgoPlot.SymbolType.KIDNEY:case SuperMapAlgoPlot.SymbolType.ARROWLINE:case SuperMapAlgoPlot.SymbolType.BRACESYMBOL:case SuperMapAlgoPlot.SymbolType.CURVEEIGHT:case SuperMapAlgoPlot.SymbolType.FREECURVE:case SuperMapAlgoPlot.SymbolType.LINEMARKING:case SuperMapAlgoPlot.SymbolType.LINERELATION:case SuperMapAlgoPlot.SymbolType.NODECHAIN:case SuperMapAlgoPlot.SymbolType.PATHTEXT:case SuperMapAlgoPlot.SymbolType.REGULARPOLYGON:case SuperMapAlgoPlot.SymbolType.RUNWAY:case SuperMapAlgoPlot.SymbolType.SYMBOLTEXTBOX:case SuperMapAlgoPlot.SymbolType.ANNOFRAMESYMBOLM:case SuperMapAlgoPlot.SymbolType.CONCENTRICCIRCLE:case SuperMapAlgoPlot.SymbolType.WIRE:case SuperMapAlgoPlot.SymbolType.LINEARARROW:return 2;case SuperMapAlgoPlot.SymbolType.ARCSYMBOL:case SuperMapAlgoPlot.SymbolType.CHORDSYMBOL:case SuperMapAlgoPlot.SymbolType.PIESYMBOL:case SuperMapAlgoPlot.SymbolType.ELLIPSESYMBOL:case SuperMapAlgoPlot.SymbolType.PARALLELOGRAM:case SuperMapAlgoPlot.SymbolType.PARALLELLINE:case SuperMapAlgoPlot.SymbolType.POLYBEZIERCLOSESYMBOL:case SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL:case SuperMapAlgoPlot.SymbolType.POLYGONREGION:case SuperMapAlgoPlot.SymbolType.TRAPEZOIDSYMBOL:case SuperMapAlgoPlot.SymbolType.ANNOFRAMESYMBOL:case SuperMapAlgoPlot.SymbolType.NEWARCSYMBOL:case SuperMapAlgoPlot.SymbolType.NEWPIESYMBOL:case SuperMapAlgoPlot.SymbolType.NEWCHORDSYMBOL:return 3}else if(22===t)switch(e){case 1001:case 1003:case 1005:case 1007:case 1008:case 1009:case 1011:case 1012:case 1013:case 1014:case 1015:case 1016:case 1017:case 1019:case 1020:case 1022:return 2;case 1002:case 1004:case 1006:case 1010:case 1018:case 1021:return 3}else if(421===t)switch(e){case 319:case 320:case 321:case 324:case 325:case 326:case 327:case 328:case 329:case 330:case 331:return 2;case 311:case 315:case 317:case 318:case 322:case 323:return 3}},SuperMapAlgoPlot.BasicAlgoSymbolFactory.getMaxEditPts=function(t,e){if(0===t)switch(e){case SuperMapAlgoPlot.SymbolType.TEXTSYMBOL:return 1;case SuperMapAlgoPlot.SymbolType.CIRCLESYMBOL:case SuperMapAlgoPlot.SymbolType.RECTANGLESYMBOL:case SuperMapAlgoPlot.SymbolType.BRACESYMBOL:case SuperMapAlgoPlot.SymbolType.LINEMARKING:case SuperMapAlgoPlot.SymbolType.LINERELATION:case SuperMapAlgoPlot.SymbolType.RUNWAY:case SuperMapAlgoPlot.SymbolType.SYMBOLTEXTBOX:case SuperMapAlgoPlot.SymbolType.ANNOFRAMESYMBOLM:case SuperMapAlgoPlot.SymbolType.LINEARARROW:return 2;case SuperMapAlgoPlot.SymbolType.ARCSYMBOL:case SuperMapAlgoPlot.SymbolType.CHORDSYMBOL:case SuperMapAlgoPlot.SymbolType.PIESYMBOL:case SuperMapAlgoPlot.SymbolType.ELLIPSESYMBOL:case SuperMapAlgoPlot.SymbolType.PARALLELOGRAM:case SuperMapAlgoPlot.SymbolType.KIDNEY:case SuperMapAlgoPlot.SymbolType.CURVEEIGHT:case SuperMapAlgoPlot.SymbolType.ANNOFRAMESYMBOL:case SuperMapAlgoPlot.SymbolType.TRAPEZOIDSYMBOL:case SuperMapAlgoPlot.SymbolType.NEWARCSYMBOL:case SuperMapAlgoPlot.SymbolType.NEWPIESYMBOL:case SuperMapAlgoPlot.SymbolType.NEWCHORDSYMBOL:return 3;case SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL:case SuperMapAlgoPlot.SymbolType.POLYBEZIERSYMBOL:case SuperMapAlgoPlot.SymbolType.PARALLELLINE:case SuperMapAlgoPlot.SymbolType.POLYBEZIERCLOSESYMBOL:case SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL:case SuperMapAlgoPlot.SymbolType.ARROWLINE:case SuperMapAlgoPlot.SymbolType.COMBINATIONALCIRCLE:case SuperMapAlgoPlot.SymbolType.FREECURVE:case SuperMapAlgoPlot.SymbolType.NODECHAIN:case SuperMapAlgoPlot.SymbolType.PATHTEXT:case SuperMapAlgoPlot.SymbolType.POLYGONREGION:case SuperMapAlgoPlot.SymbolType.REGULARPOLYGON:case SuperMapAlgoPlot.SymbolType.WIRE:case SuperMapAlgoPlot.SymbolType.CONCENTRICCIRCLE:return 9999}else if(22===t)switch(e){case 1003:case 1019:case 1020:case 1022:return 2;case 1006:case 1021:return 4;case 1001:case 1002:case 1004:case 1005:case 1007:case 1008:case 1009:case 1010:case 1011:case 1012:case 1013:case 1014:case 1015:case 1016:case 1017:case 1018:return 99999}else if(421===t)switch(e){case 320:return 2;case 329:case 330:case 331:return 3;case 317:return 4;case 323:return 1e3;case 311:case 315:case 318:case 319:case 321:case 322:case 324:case 325:case 326:case 327:case 328:return 99999}},SuperMapAlgoPlot.BasicAlgoSymbolFactory.getDefaultStyle=function(t,e){var i={};if(421===t)switch(e){case 320:case 321:i.color=i.strokeColor="#000000";break;case 322:i.color=i.strokeColor="#bc744d"}return i},SuperMapAlgoPlot.BasicAlgoSymbolFactory.zoomInCalSymbol=function(){if(22!==libID)return!1;switch(code){case 1012:case 1013:case 1014:case 1015:return!0;default:return!1}},SuperMapAlgoPlot.BasicAlgoSymbolFactory.zoomCalSymbol=function(){return!1},SuperMapAlgoPlot.BasicAlgoSymbolFactory.getSymbolName=function(t,e){var i="";if(0===t)switch(e){case SuperMapAlgoPlot.SymbolType.TEXTSYMBOL:i="文本";break;case SuperMapAlgoPlot.SymbolType.CIRCLESYMBOL:i="圆";break;case SuperMapAlgoPlot.SymbolType.RECTANGLESYMBOL:i="矩形";break;case SuperMapAlgoPlot.SymbolType.ARCSYMBOL:i="弧线";break;case SuperMapAlgoPlot.SymbolType.CHORDSYMBOL:i="弓形";break;case SuperMapAlgoPlot.SymbolType.PIESYMBOL:i="扇形";break;case SuperMapAlgoPlot.SymbolType.ELLIPSESYMBOL:i="椭圆";break;case SuperMapAlgoPlot.SymbolType.PARALLELOGRAM:i="平行四边形";break;case SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL:i="多边形";break;case SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL:i="折线";break;case SuperMapAlgoPlot.SymbolType.POLYBEZIERSYMBOL:i="贝赛尔曲线";break;case SuperMapAlgoPlot.SymbolType.POLYBEZIERCLOSESYMBOL:i="闭合贝塞尔曲线";break;case SuperMapAlgoPlot.SymbolType.PARALLELLINE:i="平行线";break;case SuperMapAlgoPlot.SymbolType.KIDNEY:i="集结地";break;case SuperMapAlgoPlot.SymbolType.ANNOFRAMESYMBOL:i="注记指示框";break;case SuperMapAlgoPlot.SymbolType.ARROWLINE:i="箭头线";break;case SuperMapAlgoPlot.SymbolType.COMBINATIONALCIRCLE:i="组合圆";break;case SuperMapAlgoPlot.SymbolType.CONCENTRICCIRCLE:i="同心圆";break;case SuperMapAlgoPlot.SymbolType.CURVEEIGHT:i="八字形";break;case SuperMapAlgoPlot.SymbolType.FREECURVE:i="自由线";break;case SuperMapAlgoPlot.SymbolType.ANNOFRAMESYMBOLM:i="多角标注框";break;case SuperMapAlgoPlot.SymbolType.LINEMARKING:i="线型标注";break;case SuperMapAlgoPlot.SymbolType.LINERELATION:i="对象间连线";break;case SuperMapAlgoPlot.SymbolType.NODECHAIN:i="节点链";break;case SuperMapAlgoPlot.SymbolType.PATHTEXT:i="沿线注记";break;case SuperMapAlgoPlot.SymbolType.POLYGONREGION:i="多边形区域管理";break;case SuperMapAlgoPlot.SymbolType.RUNWAY:i="跑道线";break;case SuperMapAlgoPlot.SymbolType.SYMBOLTEXTBOX:i="标注框";break;case SuperMapAlgoPlot.SymbolType.REGULARPOLYGON:i="正多边形";break;case SuperMapAlgoPlot.SymbolType.BRACESYMBOL:i="大括号";break;case SuperMapAlgoPlot.SymbolType.TRAPEZOIDSYMBOL:i="梯形";break;case SuperMapAlgoPlot.SymbolType.WIRE:i="铁丝网";break;case SuperMapAlgoPlot.SymbolType.LINEARARROW:i="直线箭头";break;case SuperMapAlgoPlot.SymbolType.NEWPIESYMBOL:i="扇形";break;case SuperMapAlgoPlot.SymbolType.NEWARCSYMBOL:i="弧线";break;case SuperMapAlgoPlot.SymbolType.NEWCHORDSYMBOL:i="弓形"}return i};SuperMapAlgoPlot.AlgoSymbolFactory=SuperMapAlgoPlot.AlgoSymbolFactory||{};SuperMapAlgoPlot.AlgoSymbolFactory.getAlgoSymbol=function(t){var e=t.libID,i=t.code;return 0!==e&&22!==e&&421!==e||void 0===SuperMapAlgoPlot.BasicAlgoSymbolFactory?100===e&&void 0!==SuperMapAlgoPlot.JBAlgoSymbolFactory?SuperMapAlgoPlot.JBAlgoSymbolFactory.getAlgoSymbol(e,i,t):123===e&&void 0!==SuperMapAlgoPlot.WJAlgoSymbolFactory?SuperMapAlgoPlot.WJAlgoSymbolFactory.getAlgoSymbol(e,i,t):999===e&&void 0!==SuperMapAlgoPlot.YJAlgoSymbolFactory?SuperMapAlgoPlot.YJAlgoSymbolFactory.getAlgoSymbol(e,i,t):null:SuperMapAlgoPlot.BasicAlgoSymbolFactory.getAlgoSymbol(e,i,t)},SuperMapAlgoPlot.AlgoSymbolFactory.getSymbolWayType=function(t,e){if(0===t)switch(e){case SuperMapAlgoPlot.SymbolType.POLYLINESYMBOL:case SuperMapAlgoPlot.SymbolType.ARBITRARYPOLYGONSYMBOL:return SuperMapAlgoPlot.AddPoint_WayType.POLYLINE;case SuperMapAlgoPlot.SymbolType.POLYBEZIERSYMBOL:case SuperMapAlgoPlot.SymbolType.POLYBEZIERCLOSESYMBOL:return SuperMapAlgoPlot.AddPoint_WayType.CURVE;default:return SuperMapAlgoPlot.AddPoint_WayType.UNKNOWN}if(22===t)switch(e){case 1005:case 1008:case 1012:case 1014:return SuperMapAlgoPlot.AddPoint_WayType.CURVE;case 1007:case 1009:case 1013:case 1015:return SuperMapAlgoPlot.AddPoint_WayType.POLYLINE;default:return SuperMapAlgoPlot.AddPoint_WayType.UNKNOWN}if(100===t)switch(e){case 15200:case 15201:case 16203:case 17703:case 17704:case 21400:case 21401:case 21500:case 21501:case 21502:case 21503:case 21504:case 21600:case 21900:case 22e3:case 22103:case 23800:case 24700:case 25201:case 25400:case 25601:case 25801:case 25901:case 26500:case 26501:case 26502:case 26503:case 26600:case 28900:case 29e3:case 29003:case 29903:case 3e4:case 30001:case 30002:case 30100:case 30102:case 30200:case 30201:case 30800:case 31803:case 33400:case 34900:case 34901:case 34902:case 35e3:case 36400:case 44200:case 3010102:case 3010103:case 3010104:case 3010105:case 3010106:case 3010107:case 3010108:case 3010301:case 3010302:case 3010303:case 3010304:case 16500:case 17400:case 17401:case 17500:case 17501:case 23400:case 23500:case 23600:case 23700:case 27300:case 28200:case 28300:case 28400:case 37600:case 37601:case 37700:case 39e3:case 40100:case 40101:case 42400:case 2350001:case 3032e3:case 4010800:case 4010801:case 4011100:case 4011101:case 4022100:case 4022101:case 4022102:case 39101:case 44300:case 22200:case 27701:return SuperMapAlgoPlot.AddPoint_WayType.CURVE;case 12500:case 12502:case 16100:case 20300:case 25501:case 25502:case 25503:case 32900:case 34700:case 35200:case 36401:case 41200:case 41201:case 41202:case 42700:case 44400:return SuperMapAlgoPlot.AddPoint_WayType.POLYLINE;default:return SuperMapAlgoPlot.AddPoint_WayType.UNKNOWN}if(123===t)switch(e){case 21003:case 21207:case 2120701:case 2121503:case 21218:case 30008:case 3000801:case 3000802:case 3000803:case 3000804:case 3000805:case 3000806:case 3000807:case 3000808:case 3000809:case 30009:case 5021803:case 5022001:case 5022002:case 40301:case 4030101:case 4030102:case 4030103:case 4030104:case 40303:case 4030301:case 4030302:case 4030303:case 50101:case 5010101:case 50102:case 5010201:case 5010202:case 5010203:case 5010204:case 50103:case 5010301:case 5010302:case 5010303:case 5010304:case 50107:case 5010701:case 50210:case 50220:case 50221:case 50225:case 5030102:case 50303:case 5030301:case 50309:case 50320:case 5032001:case 5032002:case 5032003:case 50321:case 5032101:case 5032102:case 50322:case 5032201:case 50330:case 5033001:case 5034203:case 5035201:case 5035204:case 60205:case 90105:return SuperMapAlgoPlot.AddPoint_WayType.CURVE;case 20915:case 2091502:case 2092101:case 2120702:case 21216:case 2121601:case 2121602:case 21605:case 30010:case 30011:case 3001101:case 3001102:case 3001103:case 3001104:case 3001105:case 30012:case 30020:case 3002001:case 3002002:case 3002005:case 30025:case 3002501:case 30026:case 40104:case 40302:case 4030201:case 4030202:case 4030203:case 4030204:case 50227:case 5035205:case 60301:case 6030101:case 6030102:case 6030103:case 6030104:case 6030105:case 6030106:case 6030107:case 70202:case 7020201:case 7020202:case 90107:return SuperMapAlgoPlot.AddPoint_WayType.POLYLINE;default:return SuperMapAlgoPlot.AddPoint_WayType.UNKNOWN}},SuperMapAlgoPlot.AlgoSymbolFactory.isAccessServer=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMapAlgoPlot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMapAlgoPlot.JBAlgoSymbolFactory?SuperMapAlgoPlot.JBAlgoSymbolFactory.isAccessServer(t,e):123===t&&void 0!==SuperMapAlgoPlot.WJAlgoSymbolFactory?SuperMapAlgoPlot.WJAlgoSymbolFactory.isAccessServer(t,e):999!==t||void 0===SuperMapAlgoPlot.YJAlgoSymbolFactory||SuperMapAlgoPlot.YJAlgoSymbolFactory.isAccessServer(t,e):SuperMapAlgoPlot.BasicAlgoSymbolFactory.isAccessServer(t,e)},SuperMapAlgoPlot.AlgoSymbolFactory.getDefaultSubSymbols=function(t,e){return 100===t&&void 0!==SuperMapAlgoPlot.JBAlgoSymbolFactory?SuperMapAlgoPlot.JBAlgoSymbolFactory.getDefaultSubSymbols(t,e):123===t&&void 0!==SuperMapAlgoPlot.WJAlgoSymbolFactory?SuperMapAlgoPlot.WJAlgoSymbolFactory.getDefaultSubSymbols(t,e):999===t&&void 0!==SuperMapAlgoPlot.YJAlgoSymbolFactory?SuperMapAlgoPlot.YJAlgoSymbolFactory.getDefaultSubSymbols(t,e):[]},SuperMapAlgoPlot.AlgoSymbolFactory.getMinEditPts=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMapAlgoPlot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMapAlgoPlot.JBAlgoSymbolFactory?SuperMapAlgoPlot.JBAlgoSymbolFactory.getMinEditPts(t,e):123===t&&void 0!==SuperMapAlgoPlot.WJAlgoSymbolFactory?SuperMapAlgoPlot.WJAlgoSymbolFactory.getMinEditPts(t,e):999===t&&void 0!==SuperMapAlgoPlot.YJAlgoSymbolFactory?SuperMapAlgoPlot.YJAlgoSymbolFactory.getMinEditPts(t,e):0:SuperMapAlgoPlot.BasicAlgoSymbolFactory.getMinEditPts(t,e)},SuperMapAlgoPlot.AlgoSymbolFactory.getMaxEditPts=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMapAlgoPlot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMapAlgoPlot.JBAlgoSymbolFactory?SuperMapAlgoPlot.JBAlgoSymbolFactory.getMaxEditPts(t,e):123===t&&void 0!==SuperMapAlgoPlot.WJAlgoSymbolFactory?SuperMapAlgoPlot.WJAlgoSymbolFactory.getMaxEditPts(t,e):999===t&&void 0!==SuperMapAlgoPlot.YJAlgoSymbolFactory?SuperMapAlgoPlot.YJAlgoSymbolFactory.getMaxEditPts(t,e):0:SuperMapAlgoPlot.BasicAlgoSymbolFactory.getMaxEditPts(t,e)},SuperMapAlgoPlot.AlgoSymbolFactory.getDefaultStyle=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMapAlgoPlot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMapAlgoPlot.JBAlgoSymbolFactory?SuperMapAlgoPlot.JBAlgoSymbolFactory.getDefaultStyle(t,e):123===t&&void 0!==SuperMapAlgoPlot.WJAlgoSymbolFactory?SuperMapAlgoPlot.WJAlgoSymbolFactory.getDefaultStyle(t,e):999===t&&void 0!==SuperMapAlgoPlot.YJAlgoSymbolFactory?SuperMapAlgoPlot.YJAlgoSymbolFactory.getDefaultStyle(t,e):{}:SuperMapAlgoPlot.BasicAlgoSymbolFactory.getDefaultStyle(t,e)},SuperMapAlgoPlot.AlgoSymbolFactory.getSymbolName=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMapAlgoPlot.BasicAlgoSymbolFactory?"":SuperMapAlgoPlot.BasicAlgoSymbolFactory.getSymbolName(t,e)},SuperMapAlgoPlot.AlgoSymbolFactory.canPolylineConnect=function(t,e){if(100!==t)return!1;switch(e){case 16500:case 17400:case 17401:case 17500:case 17501:case 23400:case 23500:case 23600:case 23700:case 27300:case 28200:case 28300:case 28400:case 37600:case 37601:case 37700:case 39e3:case 40100:case 40101:case 42200:case 42400:case 2350001:case 2730101:case 3032e3:case 4010800:case 4010801:case 4011100:case 4011101:case 4022100:case 4022101:case 4022102:return!0;default:return!1}},SuperMapAlgoPlot.AlgoSymbolFactory.zoomInCalSymbol=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMapAlgoPlot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMapAlgoPlot.JBAlgoSymbolFactory?SuperMapAlgoPlot.JBAlgoSymbolFactory.zoomInCalSymbol(t,e):123===t&&void 0!==SuperMapAlgoPlot.WJAlgoSymbolFactory?SuperMapAlgoPlot.WJAlgoSymbolFactory.zoomInCalSymbol(t,e):999===t&&void 0!==SuperMapAlgoPlot.YJAlgoSymbolFactory?SuperMapAlgoPlot.YJAlgoSymbolFactory.zoomInCalSymbol(t,e):0:SuperMapAlgoPlot.BasicAlgoSymbolFactory.zoomInCalSymbol(t,e)},SuperMapAlgoPlot.AlgoSymbolFactory.zoomCalSymbol=function(t,e){if((0===t||22===t||421===t)&&void 0!==SuperMapAlgoPlot.BasicAlgoSymbolFactory)return SuperMapAlgoPlot.BasicAlgoSymbolFactory.zoomCalSymbol(t,e);if(100===t)switch(e){case 28e3:case 28100:case 28200:case 28201:case 32300:return!0;default:return!1}else{if(123!==t||void 0===SuperMapAlgoPlot.WJAlgoSymbolFactory)return!1;switch(e){case 50312:case 50313:case 50314:case 50348:return!0;default:return!1}}},SuperMapAlgoPlot.AlgoSymbolFactory.calSurroundLineDir=function(t,e){if(22===t)switch(e){case 1018:case 1020:case 1021:return!1}return SuperMapAlgoPlot.AlgoSymbolFactory.getAlgoWayType(t,e)===SuperMapAlgoPlot.AddPoint_WayType.POLYLINE_CLOSE||SuperMapAlgoPlot.AlgoSymbolFactory.getAlgoWayType(t,e)===SuperMapAlgoPlot.AddPoint_WayType.CURVE_CLOSE},SuperMapAlgoPlot.AlgoSymbolFactory.getAlgoWayType=function(t,e){if(100===t)switch(e){case 24:case 40304:case 1e3:case 1007:case 1009:case 1016:case 12502:case 20300:case 26400:case 41100:case 50308:case 2092101:case 60301:case 6030101:case 6030102:case 6030103:case 6030104:case 6030105:case 6030106:case 6030107:case 1013:case 1015:case 520100:case 520200:case 21216:case 2121601:case 2121602:case 30020:case 3002001:case 3002002:case 3002005:case 30025:case 3002501:case 30026:case 3002601:case 30027:case 3002701:case 3002702:case 3002703:case 3002704:case 3002705:case 40104:case 36401:case 34700:case 32900:case 6020404:case 30013:case 3001302:case 30014:case 1001:case 1017:case 16e3:case 16001:case 25202:return SuperMapAlgoPlot.AddPoint_WayType.POLYLINE;case 32:case 3020901:case 25501:case 25502:case 25503:case 25601:case 25701:case 2570201:case 2570301:case 2570401:case 2570501:case 25801:case 25901:case 44400:case 41200:case 41201:case 41202:case 30010:case 30011:case 30012:case 3001101:case 3001102:case 3001103:case 3001104:case 3001105:case 5035205:case 16100:case 35304:case 35200:case 50225:case 5020801:case 42700:case 25500:case 25600:case 25700:case 25800:case 25900:return SuperMapAlgoPlot.AddPoint_WayType.POLYLINE_CLOSE;case 40301:case 4030301:case 4030302:case 4030303:case 5010301:case 5010303:case 5010304:case 1005:case 1008:case 15200:case 15201:case 21400:case 21401:case 21500:case 21501:case 21502:case 21503:case 21504:case 21900:case 21600:case 26500:case 26501:case 26502:case 26503:case 26600:case 3000801:case 3000802:case 3000803:case 3000804:case 3000805:case 3000806:case 3000807:case 3000808:case 3000809:case 5034203:case 50355:case 5035501:case 60205:case 1012:case 1014:case 3010102:case 3010103:case 3010104:case 3010105:case 3010106:case 3010107:case 3010108:case 3010301:case 3010302:case 3010303:case 3010304:case 50102:case 4021101:case 510100:case 520300:case 530100:case 530200:case 16203:case 22e3:case 22103:case 25201:case 24700:case 25400:case 44200:case 31803:case 30800:case 30201:case 30200:case 5022002:case 3002004:case 5030301:case 50328:case 5033001:case 5022001:case 4021102:case 29003:case 30009:case 5035201:case 520500:case 23800:case 36400:case 35e3:case 33400:case 30100:case 30102:case 30002:case 30001:case 3e4:case 29903:case 5021803:case 50321:case 5032003:case 4020303:case 4020400:case 4020401:case 4020402:case 34902:case 34901:case 34900:case 12501:case 15800:case 15801:case 15802:case 15803:case 15804:case 15805:case 15806:case 15900:case 2091503:case 28900:case 16201:case 39600:case 38600:case 36700:case 26601:case 16200:case 17700:case 90213:return SuperMapAlgoPlot.AddPoint_WayType.CURVE;case 50342:case 5034201:case 5034202:case 610100:case 29103:case 28300:case 28200:case 17400:case 17401:case 17402:case 17500:case 17501:case 22200:case 23400:case 23500:case 2350001:case 23600:case 23700:case 27300:case 2730101:case 27701:case 28400:case 44300:case 42400:case 42200:case 40100:case 40101:case 39101:case 39e3:case 37700:case 37601:case 37600:case 5020802:case 50223:case 5022301:case 50226:case 21221:case 2122101:case 50108:case 3032e3:case 4011100:case 4011101:case 4022101:case 4022102:case 4022100:case 16500:case 80203:case 8020301:return SuperMapAlgoPlot.AddPoint_WayType.CURVE_CLOSE;case 17703:case 17704:case 39801:case 39802:case 39800:case 40900:case 4e4:return SuperMapAlgoPlot.AddPoint_WayType.CURVE_WITHCONTROLPT;default:return SuperMapAlgoPlot.AddPoint_WayType.UNKNOWN}return SuperMapAlgoPlot.AddPoint_WayType.UNKNOWN};SuperMap.MD5=SuperMap.MD5||{};SuperMap.MD5.md5=function(t){function e(t,e){return t<>>32-e}function i(t,e){var i,o,l,s,n;return l=2147483648&t,s=2147483648&e,n=(1073741823&t)+(1073741823&e),(i=1073741824&t)&(o=1073741824&e)?2147483648^n^l^s:i|o?1073741824&n?3221225472^n^l^s:1073741824^n^l^s:n^l^s}function o(t,o,l,s,n,a,r){return i(e(t=i(t,i(i(function(t,e,i){return t&e|~t&i}(o,l,s),n),r)),a),o)}function l(t,o,l,s,n,a,r){return i(e(t=i(t,i(i(function(t,e,i){return t&i|e&~i}(o,l,s),n),r)),a),o)}function s(t,o,l,s,n,a,r){return i(e(t=i(t,i(i(function(t,e,i){return t^e^i}(o,l,s),n),r)),a),o)}function n(t,o,l,s,n,a,r){return i(e(t=i(t,i(i(function(t,e,i){return e^(t|~i)}(o,l,s),n),r)),a),o)}function a(t){var e,i="",o="";for(e=0;e<=3;e++)i+=(o="0"+(t>>>8*e&255).toString(16)).substr(o.length-2,2);return i}var r,p,u,h,g,c,y,P,S,d=Array();for(d=function(t){for(var e,i=t.length,o=i+8,l=16*((o-o%64)/64+1),s=Array(l-1),n=0,a=0;a>>29,s}(t=function(t){t=t.replace("/\r\n/g","\n");for(var e="",i=0;i127&&o<2048?(e+=String.fromCharCode(o>>6|192),e+=String.fromCharCode(63&o|128)):(e+=String.fromCharCode(o>>12|224),e+=String.fromCharCode(o>>6&63|128),e+=String.fromCharCode(63&o|128))}return e}(t)),c=1732584193,y=4023233417,P=2562383102,S=271733878,r=0;r0?p+=this.options.fontShadowOffsetX:a+=this.options.fontShadowOffsetX,this.options.fontShadowOffsetY>0?u+=this.options.fontShadowOffsetY:r+=this.options.fontShadowOffsetY),this._eventParents)if(this._eventParents[g].symbolType===SuperMap.Plot.SymbolType.TEXTSYMBOL&&0===this.options.fontPercent&&0===this.options.fontPercent){var c=p-a,y=(c+this.options.fontSpace*(this.options.text.length-1))*this.options.fontPercent/100-c;switch(h){case"lt":case"lm":case"lb":p+=y;break;case"rt":case"rm":case"rb":a-=y;break;case"ct":case"cm":case"cb":a-=y/2,p+=y/2}}var P=new L.Bounds;if(this.options.labelRotation&&0!==this.options.labelRotation){var S=[];S.push(L.point(a,r)),S.push(L.point(a,u)),S.push(L.point(p,r)),S.push(L.point(p,u));var d=this.options.labelRotation*(Math.PI/180);for(let t=0;t0){if(i.components[0]instanceof d&&i.components[0].components.length>0){i=i.components[0];break}if(!(i.components[0]instanceof d))break;i=null}null!=i&&i.components.length>0?i.components[0]instanceof d&&i.components[0].components.length>0?t.onBefore(i.components[0].components[0]):t.onBefore(i.components[0]):t.onAdd()}}this.components.push(t)}},_project:function(){var t=this;t._pxBounds=new L.Bounds,t.components.map(function(e){return e instanceof d&&e._project(),e._pxBounds&&e._pxBounds.isValid()&&(t._pxBounds.extend(e._pxBounds.min),t._pxBounds.extend(e._pxBounds.max)),e})},getBounds:function(){var t=this;return t._bounds=new L.LatLngBounds,t.components.map(function(e){return t._bounds.extend(e.getBounds()),e}),t._bounds},clone:function(){this.symbolData=this.getSymbolData();var t=SuperMap.Plot.PlottingUtil.toJSON(this.symbolData),e=JSON.parse(t);e.uuid=SuperMap.Plot.PlottingUtil.generateUuid();var i=SuperMap.Plot.PlottingUtil.cloneObject(this.style);return L.supermap.plotting.PlottingObject.createSymbol(this.libID,this.code,null,{symbolData:e,serverUrl:this.serverUrl},i)},setStyle:function(t){if(SuperMap.Util.extend(this.style,t),this.redraw(),this.symbolType===SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL&&this.ownerGroup&&(this.ownerGroup.symbolType===SuperMap.Plot.SymbolType.NAVYDEPLOYMENT||this.ownerGroup.symbolType===SuperMap.Plot.SymbolType.AIRDEPLOYMENT))for(let t in this.ownerGroup.subObjects)this.ownerGroup.subObjects[t].redraw();this.symbolType===SuperMap.Plot.SymbolType.TEXTSYMBOL&&this.isSelected&&"none"!==this.style.display&&this.fire(SuperMap.Plot.Event.reseteditmarkersvalues),this.layer.fire("propertychanged",{feature:this,property:t})},setScale:function(){},setRotate:function(){},setTextPosition:function(){},convertGraphicObjects:function(){},setTextContent:function(t){this.textContent=t,this.redraw(),this.symbolType===SuperMap.Plot.SymbolType.TEXTSYMBOL&&this.isSelected&&(this.fire(SuperMap.Plot.Event.reseteditmarkersvalues),this.layer.fire("propertychanged",{feature:this,property:t}))},getLocked:function(){return this.isLocked},setLocked:function(t){if(this.isLocked!==t){if(this.isLocked=t,this.symbolType===SuperMap.Plot.SymbolType.GROUPOBJECT)for(var e=0;e=this.layer.getMinVisibleScale()||0===this.layer.getMinVisibleScale())||"function"!=typeof this.layer.getMinVisibleScale&&"function"==typeof this.layer.getMaxVisibleScale&&(0===this.layer.getMaxVisibleScale()||t<=this.layer.getMaxVisibleScale())||"function"==typeof this.layer.getMinVisibleScale&&"function"==typeof this.layer.getMaxVisibleScale&&0===this.layer.getMaxVisibleScale()&&t>=this.layer.getMinVisibleScale()||"function"==typeof this.layer.getMinVisibleScale&&"function"==typeof this.layer.getMaxVisibleScale&&0===this.layer.getMinVisibleScale()&&t<=this.layer.getMaxVisibleScale()||"function"==typeof this.layer.getMinVisibleScale&&"function"==typeof this.layer.getMaxVisibleScale&&(0===this.layer.getMinVisibleScale()&&0===this.layer.getMaxVisibleScale()||t>=this.layer.getMinVisibleScale()&&t<=this.layer.getMaxVisibleScale()))&&(this._redrawComponents(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues)))},_redrawComponents:function(){"none"===this.style.display||null!=this.layer&&"function"==typeof this.layer.getVisibility&&!1===this.layer.getVisibility()?this.symbolType!==SuperMap.Plot.SymbolType.DOTSYMBOL&&this.symbolType!==SuperMap.Plot.SymbolType.AlgoSymbol&&0!==this.libID||this._updateSymbolTexts():(this._calculateParts(),this._calculateAvoidRegions())},_calculateAvoidRegions:function(){if(0!==this.avoidRegions.length){var t=this.components.slice();for(let t=0;t9){if(this.symbolType===SuperMap.Plot.SymbolType.REGULARPOLYGON)t.handlePoints.push(this.getLatLngs()[0].clone()),t.handlePoints.push(this.getLatLngs()[this.getLatLngs().length-1].clone());else if(t.handlePoints=L.Util.cloneLatLngs(this.getLatLngs()),3801===this.code||4401===this.code||3701===this.code){var i=this.components[0]._latlngs;i.length>1?t.handlePoints[2]=i[1]:t.handlePoints[2]=i[0][1]}}else t.handlePoints=this._getHandlePointsByBounds(e);for(var o=0;othis.symbolSizeInLib.w&&(e=this.symbolSizeInLib.h),0===e||0===t.dotSymbolSize)0!==this.symbolSize.w&&0!==this.symbolSize.h||(this.symbolSize.w=this.symbolSizeInLib.w,this.symbolSize.h=this.symbolSizeInLib.h);else{var i=t.dotSymbolSize/e;this.symbolSize.w=i*this.symbolSizeInLib.w,this.symbolSize.h=i*this.symbolSizeInLib.h}}-1!==t.dotTextSpace&&(this.space=t.dotTextSpace),-1!==t.flagTextSize&&(this.flagTextSize=t.flagTextSize)}this.symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL&&(null!=t.maxScale&&(this.maxScale=t.maxScale),null!=t.minScale&&(this.minScale=t.minScale)),-1!==t.scaleByMap&&(this.scaleByMap=t.scaleByMap)}},_removeRedundancySymbolData:function(t){null!==t&&(Object.prototype.hasOwnProperty.call(t,"center")&&delete t.center,Object.prototype.hasOwnProperty.call(t,"id")&&delete t.id,Object.prototype.hasOwnProperty.call(t,"parts")&&delete t.parts,Object.prototype.hasOwnProperty.call(t,"points")&&delete t.points,Object.prototype.hasOwnProperty.call(t,"position")&&delete t.position,Object.prototype.hasOwnProperty.call(t,"prjCoordSys")&&delete t.prjCoordSys,Object.prototype.hasOwnProperty.call(t,"rotationX")&&delete t.rotationX,Object.prototype.hasOwnProperty.call(t,"rotationY")&&delete t.rotationY,Object.prototype.hasOwnProperty.call(t,"rotationZ")&&delete t.rotationZ,Object.prototype.hasOwnProperty.call(t,"scaleX")&&delete t.scaleX,Object.prototype.hasOwnProperty.call(t,"scaleY")&&delete t.scaleY,Object.prototype.hasOwnProperty.call(t,"scaleZ")&&delete t.scaleZ)},destroy:function(){this.layer.removeFeatures(this)},updateByGeoJson(t){t.isEdit=!0,SuperMap.Plot.AnalysisSymbol.parseSymbolData(this,t,!0),this.redraw(),this.isSelected&&"none"!==this.style.display&&(this.fire(SuperMap.Plot.Event.reseteditmarkersvalues),this._map.getPlotEditControl().fire(SuperMap.Plot.Event.updateFeature,{feature:this}))},toGeoJsonStr:function(){return this.getSymbolData(),SuperMap.Plot.PlottingUtil.toJSON(this.symbolData)}});L.supermap.plotting.PlottingObject=d,d.prototype._containsPoint=function(t){if(this.symbolType!==SuperMap.Plot.SymbolType.TEXTSYMBOL)return!1;for(var e in this.components)if(this.components[e]._containsPoint(t))return!0;return!1},L.supermap.plotting.PlottingObject.createSymbol=function(t,e,i,o,l,s){o||(o={}),o.custom=s;var n=null;if(o&&o.symbolData&&o.symbolData.textStyle2D&&void 0===o.symbolData.textStyle2D.sizeFixed&&(o.symbolData.textStyle2D.sizeFixed=!0),null==i||SuperMap.Util.isArray(i)||(i=[i]),0===t)switch(e){case SuperMap.Plot.SymbolType.ARCREGION:n=L.supermap.plotting.arcRegion(t,e,i,o);break;case SuperMap.Plot.SymbolType.MISSILEROUTE:n=L.supermap.plotting.missileRoute(t,e,i,o);break;case SuperMap.Plot.SymbolType.NAVYROUTE:n=L.supermap.plotting.navyRoute(t,e,i,o);break;case SuperMap.Plot.SymbolType.AIRROUTE:n=L.supermap.plotting.airRoute(t,e,i,o);break;case SuperMap.Plot.SymbolType.LITERATESIGN:n=L.supermap.plotting.literateSign(t,e,i,o);break;case SuperMap.Plot.SymbolType.ROUTENODE:n=L.supermap.plotting.routeNode(t,e,i,o);break;case SuperMap.Plot.SymbolType.PATHTEXT:n=L.supermap.plotting.pathText(t,e,i,o);break;case SuperMap.Plot.SymbolType.FREECURVE:n=L.supermap.plotting.freeCurve(t,e,i,o);break;case SuperMap.Plot.SymbolType.LINERELATION:n=L.supermap.plotting.lineRelation(t,e,i,o);break;case SuperMap.Plot.SymbolType.GROUPOBJECT:n=L.supermap.plotting.groupObject(t,e,i,o);break;case SuperMap.Plot.SymbolType.INTERFERENCEBEAM:n=L.supermap.plotting.interferenceBeam(t,e,i,o);break;case SuperMap.Plot.SymbolType.SATELLITE:n=L.supermap.plotting.satellite(t,e,i,o);break;case SuperMap.Plot.SymbolType.SATELLITETIMEWINDOWS:n=L.supermap.plotting.satelliteTimeWindows(t,e,i,o);break;case SuperMap.Plot.SymbolType.SYMBOLTEXT:n=L.supermap.plotting.symbolText(t,e,i,o);break;case SuperMap.Plot.SymbolType.SYMBOLTEXT1:n=L.supermap.plotting.symbolText1(t,e,i,o);break;case SuperMap.Plot.SymbolType.FLAGGROUP:n=L.supermap.plotting.flagGroup(t,e,i,o);break;case SuperMap.Plot.SymbolType.NAVYDEPLOYMENT:n=L.supermap.plotting.navyDeployment(t,e,i,o);break;case SuperMap.Plot.SymbolType.AIRDEPLOYMENT:n=L.supermap.plotting.airDeployment(t,e,i,o);break;case SuperMap.Plot.SymbolType.AVOIDREGION:return L.supermap.plotting.avoidRegion(t,e,i,o);case SuperMap.Plot.SymbolType.PICTURE:n=L.supermap.plotting.picture(t,e,i,o);break;default:n=L.supermap.plotting.algoSymbol(t,e,i,o)}else n=o.symbolData&&o.symbolData.symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL?L.supermap.plotting.dotSymbol(t,e,i,o):L.supermap.plotting.algoSymbol(t,e,i,o);var a=L.supermap.plotting.getControl().getDefaultStyle();return SuperMap.Plot.AnalysisSymbol.mergeDefaultStyleToFeature(n,a,!0),l&&SuperMap.Util.extend(n.style,l),null!=i&&i.length>0&&(i.length>n.maxEditPts&&(i=i.slice(0,n.maxEditPts)),n.latLngs=L.Util.cloneLatLngs(i)),n};var m=d.extend({subObjects:[],initialize:function(t,e,i,o){this.subObjects=[],this.symbolName="组合对象",this.libID=0,this.code=SuperMap.Plot.SymbolType.GROUPOBJECT,this.symbolType=SuperMap.Plot.SymbolType.GROUPOBJECT,d.prototype.initialize.call(this,t,e,i,o)},_addComponents:function(t){d.prototype._addComponents.call(this,t),t.layer=this.layer,t.isEdit=!0,A&&(t.dragging||(t.dragging=new A(t))),null===t.fromZoom&&(t.fromZoom=this._map.getZoom()),this._map&&this._map.getPlotEditControl()&&t.enableEdit&&this._map.getPlotEditControl().enableEditFeatures(t)},_clearComponents:function(){this._map&&this._map.getPlotEditControl()&&this._map.getPlotEditControl().disableEditFeatures(this.components),d.prototype._clearComponents.call(this)},_reView:function(){for(var t in this.components)this.components[t]._reView();this.fire(SuperMap.Plot.Event.reseteditmarkersvalues)},move:function(t,e){for(var i in this.subObjects)this.subObjects[i].move(t,e);this.fire(SuperMap.Plot.Event.reseteditmarkersvalues)},redraw:function(){if("none"===this.style.display||null!=this.layer&&"function"==typeof this.layer.getVisibility&&!1===this.layer.getVisibility())this._clearComponents();else if(0!==this.subObjects.length&&0===this.components.length)for(var t=0,e=this.subObjects.length;t=1?t.touches[0]:t,i=this._plottingObject._map.mouseEventToLatLng(e);if("touchmove"===t.type&&!this._plottingObject._dragMoved){var o=this._plottingObject._map.latLngToLayerPoint(this._dragStartPoint),l=this._plottingObject._map.mouseEventToContainerPoint(e);if(o.distanceTo(l)<=this._plottingObject._map.options.tapTolerance)return}var s=i.lat,n=i.lng,a=s-this._startPoint.lat,r=n-this._startPoint.lng;(a||r)&&(this._plottingObject._dragMoved||(this._plottingObject._dragMoved=!0,this._plottingObject.fire("dragstart",t)),this._startPoint.lat=s,this._startPoint.lng=n,this._plottingObject.fire("predrag",t),t.dLat=a,t.dLng=r,this._plottingObject.fire("drag",t))},_onDragEnd:function(t){var e=this._plottingObject._map.mouseEventToLatLng(t),i=this.moved();if(i&&L.DomEvent.stop(t),L.DomEvent.off(document,"mousemove touchmove",this._onDrag,this),L.DomEvent.off(document,"mouseup touchend",this._onDragEnd,this),i){this._plottingObject.fire("dragend",{distance:b(this._dragStartPoint,e)});var o=this._plottingObject._containsPoint;this._plottingObject._containsPoint=L.Util.falseFn,L.Util.requestAnimFrame(function(){this._plottingObject._containsPoint=o},this)}this._startPoint=null,this._dragStartPoint=null,this._plottingObject._dragMoved=!1,i&&(this._plottingObject.moveend=!0)},_dragStart:function(t){this._startPoint=t.target._latlng.clone(),this._dragStartPoint=t.target._latlng.clone(),this._plottingObject._dragMoved=!1},_drag:function(t){var e=t.target._latlng,i=e.lat,o=e.lng,l=i-this._startPoint.lat,s=o-this._startPoint.lng;(l||s)&&(this._plottingObject._dragMoved||(this._plottingObject._dragMoved=!0,this._plottingObject.fire("dragstart",t)),this._startPoint.lat=i,this._startPoint.lng=o,this._plottingObject.fire("predrag",t),t.dLat=l,t.dLng=s,this._plottingObject.fire("drag",t))},_dragEnd:function(t){var e=t.target._latlng,i=this.moved();if(i){this._plottingObject.fire("dragend",{distance:b(this._dragStartPoint,e)});var o=this._plottingObject._containsPoint;this._plottingObject._containsPoint=L.Util.falseFn,L.Util.requestAnimFrame(function(){this._plottingObject._containsPoint=o},this)}this._startPoint=null,this._dragStartPoint=null,this._plottingObject._dragMoved=!1,i&&(this._plottingObject.moveend=!0)},_addToMapAndBindMarker:function(t){t.addTo(this._plottingObject._map),t.on("dragstart",this._dragStart,this),t.on("drag",this._drag,this),t.on("dragend",this._dragEnd,this),t.dragging.enable()},_unbindMarkerEvents:function(t){null!=t&&(t.off("dragstart",this._dragStart,this),t.off("drag",this._drag,this),t.off("dragend",this._dragEnd,this),t.dragging.disable())},_onResetEditMarkersValues:function(){let t=this._plottingObject.getBounds();this.moveMarker._latlng=t.getCenter(),this.moveMarker.update()}}),T=d.extend({surroundLineType:null,scaleByMap:null,latLngs:[],initialize:function(t,e,i,o){this.geoSymbolTexts=[],this.subAssociatedUuids=[],this.latLngs=i||[],d.prototype.initialize.call(this,t,e,i,o),null===this.surroundLineType&&(this.surroundLineType=SuperMap.Plot.AlgoSurroundLineType.NONE)},destroy:function(){d.prototype.destroy.call(this),this.surroundLineType=null,this.scaleByMap=null,this.latLngs=[]},setLatLngs:function(t){return this.latLngs=t,this.redraw()},getLatLngs:function(){return this.latLngs},addLatLng:function(t){if(this.latLngs[this.latLngs.length-1].lat!==t.lat||this.latLngs[this.latLngs.length-1].lng!==t.lng)return this.latLngs.push(t),this.redraw()},setScaleByMap:function(t){this.scaleByMap=t,this.redraw()},getScaleByMap:function(){return this.scaleByMap},getSurroundLineType:function(){return this.surroundLineType},setSurroundLineType:function(){},_resizeLatLngs:function(t,e,i,o){if(this.symbolType!==SuperMap.Plot.SymbolType.SATELLITETIMEWINDOWS){var l=this._resizeBounds(t,e,i);if(!(SuperMap.Plot.PlottingUtil.equalFuzzy(l.getWest(),l.getEast())&&SuperMap.Plot.PlottingUtil.equalFuzzy(l.getNorth(),l.getSouth())||SuperMap.Plot.PlottingUtil.equalFuzzy(i.getWest(),i.getEast())&&SuperMap.Plot.PlottingUtil.equalFuzzy(i.getNorth(),i.getSouth()))){var s=SuperMap.Plot.PlottingUtil.equalFuzzy(i.getWest(),i.getEast())?0:(l.getEast()-l.getWest())/(i.getEast()-i.getWest()),n=SuperMap.Plot.PlottingUtil.equalFuzzy(i.getNorth(),i.getSouth())?0:(l.getNorth()-l.getSouth())/(i.getNorth()-i.getSouth()),a=L.latLng((i.getNorth()+i.getSouth())/2,(i.getWest()+i.getEast())/2),r=L.latLng((l.getNorth()+l.getSouth())/2,(l.getWest()+l.getEast())/2);if(this.symbolType===SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL||this.symbolType===SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM||this.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXTBOX||this.symbolType===SuperMap.Plot.SymbolType.LINEMARKING)this.latLngs[0].lng=r.lng+(o[0].lng-a.lng)*s,this.latLngs[0].lat=r.lat+(o[0].lat-a.lat)*n,this.latLngs[1].lng=r.lng+(o[1].lng-a.lng)*s,this.latLngs[1].lat=r.lat+(o[1].lat-a.lat)*n;else if(this.symbolType===SuperMap.Plot.SymbolType.CONCENTRICCIRCLE)if(2===e||4===e||5===e||7===e){1===s&&(s=0),1===n&&(n=0);let t=Math.sqrt(s*s+n*n),e=L.Util.latLngsToSuperMapPoints(o);for(let i=1;ii?(this.symbolData.localePoints[i].x=this.getLatLngs()[i].lng,this.symbolData.localePoints[i].y=this.getLatLngs()[i].lat):this.symbolData.localePoints.push({x:this.getLatLngs()[i].lng,y:this.getLatLngs()[i].lat,z:0})}},_parseSymbolData:function(){if(d.prototype._parseSymbolData.call(this),null!==this.symbolData&&(this.style=SuperMap.Plot.AnalysisSymbol.getStyle(this.symbolData,!0),this.maxEditPts=this.symbolData.algoMaxEditPts,this.minEditPts=this.symbolData.algoMinEditPts,void 0!==this.symbolData.isEdit&&(this.isEdit=this.symbolData.isEdit),void 0!==this.symbolData.scaleByMap&&(this.scaleByMap=this.symbolData.scaleByMap),this.surroundLineType=this.symbolData.surroundLineType,this.symbolData.localePoints)){this.latLngs=[];for(var t=0;tthis.maxScale&&(p=this.maxScale),null!=n.fontSize&&(n.fontSize=n.fontSize*p),null!=n.fontSpace&&(n.fontSpace=n.fontSpace*p),null!=n.weight&&(n.weight=n.weight*p),null!=n.dashArray){let t=n.dashArray.split(",");for(let e=0;ethis.maxScale&&(r=this.maxScale));for(var p=0,u=t.length;p=2&&new SuperMap.Plot.CalculateCanvasGradient(this,this.components[t].getBounds()).createFillMode(this.components[t].options):this._computeGradientInCanvas(this.components[t],this.components[t].options,this.style))},_rotate:function(t,e){for(var i in this.components)this.components[i]instanceof T?this.components[i]._rotate(t,e):(this.components[i]instanceof c&&(this.components[i].options.rotation+=-t),this.components[i]instanceof g&&(this.components[i].options.labelRotation?(this.components[i].options.labelRotation+=-t,this.symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL&&0===this.components[i].options.labelRotation&&(this.components[i].options.labelRotation=360)):this.components[i].options.labelRotation=-t),L.Util.rotateLatLngs(this.components[i].getLatLngs(),e,t),this.components[i].setLatLngs(this.components[i].getLatLngs()));L.Util.rotateLatLngs(this.getLatLngs(),e,t)},_move:function(t,e){if(null!=this.graphic&&null!=this.graphic.layer&&!0===this.graphic.layer.getVisibility())L.Util.moveLatLngs(this.getLatLngs(),t,e),this.graphic.update();else if(null!=this.layer&&(null==this.layer.getVisibility||!0===this.layer.getVisibility())){for(var i=0,o=this.components.length;i0){for(let t in this.radius)this.scaleValues[t]=this.radius[t];delete this.radius}}else 0===this.libID&&this.symbolType===SuperMap.Plot.SymbolType.CONCENTRICCIRCLE?(null!==this.startAngle&&void 0!==this.startAngle&&(this.scaleValues[0]=this.startAngle,delete this.startAngle),null!==this.endAngle&&void 0!==this.endAngle&&(this.scaleValues[1]=this.endAngle,delete this.endAngle)):0===this.libID&&this.symbolType===SuperMap.Plot.SymbolType.POLYGONREGION&&(this.annotationPosition>this.getLatLngs()?this.scaleValues[1]=0:null==this.scaleValues[1]&&(this.scaleValues[1]=this.annotationPosition));SuperMap.Plot.AlgoSymbolFactory.isAccessServer(this.libID,this.code)||(this.minEditPts=SuperMap.Plot.AlgoSymbolFactory.getMinEditPts(this.libID,this.code),this.maxEditPts=SuperMap.Plot.AlgoSymbolFactory.getMaxEditPts(this.libID,this.code),0===this.subSymbols.length&&(this.subSymbols=SuperMap.Plot.AlgoSymbolFactory.getDefaultSubSymbols(this.libID,this.code)),null!==this.style&&!1===this.isEdit&&(this.style=SuperMap.Plot.PlottingUtil.copyAttributes(this.style,SuperMap.Plot.AlgoSymbolFactory.getDefaultStyle(this.libID,this.code))),this.controlPoints=L.Util.latLngsToSuperMapPoints(this.latLngs),this.superMapAlgoSymbol=SuperMap.Plot.AlgoSymbolFactory.getAlgoSymbol(this),this.scaleValues=this.superMapAlgoSymbol.scaleValues,0!==this.libID||this.symbolType!==SuperMap.Plot.SymbolType.SYMBOLTEXTBOX&&this.symbolType!==SuperMap.Plot.SymbolType.LINEMARKING||(this.textBoxType=this.superMapAlgoSymbol.textBoxType),100===this.libID&&26400===this.code&&(this.arrowHeadType=this.superMapAlgoSymbol.arrowHeadType),delete this.controlPoints),this._setBasicSymbolName(),!0===this._isSupportAddAnnotation()&&(this.style.sizeFixed=!1)},onAdd:function(t){this.superMapAlgoSymbol&&(this.superMapAlgoSymbol.map=t._map),T.prototype.onAdd.call(this,t)},getTextContent:function(){return this.textContent},getArrowHeadType:function(){return this.arrowHeadType},setArrowHeadType:function(t){1016!==this.code&&26400!==this.code||this.arrowHeadType===t||(this.arrowHeadType=t,this.redraw()),this.layer.fire("propertychanged",{feature:this,property:t})},getArrowTailType:function(){return this.arrowTailType},setArrowTailType:function(t){1016===this.code&&this.arrowTailType!==t&&(this.arrowTailType=t,this.redraw()),this.layer.fire("propertychanged",{feature:this,property:t})},getArrowBodyType:function(){return this.arrowBodyType},setArrowBodyType:function(t){1016===this.code&&this.arrowBodyType!==t&&(this.arrowBodyType=t,this.redraw()),this.layer.fire("propertychanged",{feature:this,property:t})},setRotate:function(t){this.dRotate+=t,0!==this.textContent.length&&(void 0===this.style.labelRotation?this.style.labelRotation=-t:this.style.labelRotation+=-t),null===this.anchorPoint&&this.symbolType!==SuperMap.Plot.SymbolType.TEXTSYMBOL&&this.symbolType!==SuperMap.Plot.SymbolType.CONCENTRICCIRCLE?this.anchorPoint=this.getBounds().getCenter():null===this.anchorPoint&&(this.anchorPoint=L.latLng(this.latLngs[0].lat,this.latLngs[0].lng)),this._rotate(t,this.anchorPoint);for(var e=0,i=this.avoidRegions.length;ee?this.symbolData.scaleValues[e]=this.scaleValues[e]:this.symbolData.scaleValues.push(this.scaleValues[e]);else this.symbolData.scaleValues=[],this.symbolData.scaleValues=this.scaleValues;1016===this.code&&(this.symbolData.arrowTailType=this.arrowTailType,this.symbolData.arrowBodyType=this.arrowBodyType,this.symbolData.arrowHeadType=this.arrowHeadType)}},_calculateParts:function(){"none"===this.style.display||null!=this.layer&&"function"==typeof this.layer.getVisibility&&!1===this.layer.getVisibility()||(this.textContent&&""!==this.textContent&&"???"!==this.textContent||this.symbolType!==SuperMap.Plot.SymbolType.TEXTSYMBOL||(this.textContent="请输入文本"),0!==this.textContent.length&&this.dRotate!==this.style.labelRotation&&(this.style.labelRotation=-this.dRotate),this.superMapAlgoSymbol&&0!==this.getLatLngs().length?(this.superMapCalculateParts(),this._setBasicSymbolText()):!this.superMapAlgoSymbol&&this.getLatLngs().length>=this.minEditPts&&(this._calAccessServerSymbol(),this._setBasicSymbolText()),"function"==typeof this.layer.getSymZoomScale&&(this.prevScale=this.layer.getSymZoomScale()))},_calAccessServerSymbol:function(){for(var t=SuperMap.Plot.AnalysisSymbol.analysisSymbolCells(this.symbolData,!0),e=0;e=1&&this.redraw(),this.layer._map.getRenderer(this.layer)instanceof L.Canvas&&this._updateCanvasFills(),this._updateSymbolTexts(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues),this.prevScale=t}this.fromZoom=this._map.getZoom(),(1===this.surroundLineType||2===this.surroundLineType||SuperMap.Plot.AlgoSymbolFactory.zoomCalSymbol(this.libID,this.code))&&this.redraw(),this.symbolType===SuperMap.Plot.SymbolType.TEXTSYMBOL&&this.isSelected&&this._map.getPlotEditControl()&&this._map.getPlotEditControl().fire(SuperMap.Plot.Event.featuresmodified,{features:[this]})}},_rotate:function(t,e){if(this.symbolType===SuperMap.Plot.SymbolType.TEXTSYMBOL)for(var i in this.components)this.components[i].options.labelRotation=this.style.labelRotation,this.components[i].redraw();if(L.Util.rotateLatLngs(this.getLatLngs(),e,t),L.Util.rotateLatLngs(this.scalePoints,e,t),this.symbolType!==SuperMap.Plot.SymbolType.CONCENTRICCIRCLE||SuperMap.Plot.PlottingUtil.equalFuzzy(Math.abs(this.scaleValues[0]-this.scaleValues[1]),360)||(this.scaleValues[0]+=t,this.scaleValues[1]+=t),SuperMap.Plot.AlgoSymbolFactory.isAccessServer(this.libID,this.code)){var o=new SuperMap.GetSymbolInfoParameters;o.libID=this.libID,o.code=this.code,o.inputPoints=L.Util.latLngsToSuperMapPoints(this.getLatLngs()),o.scaleValues=this.scaleValues,o.subSymbols=this.subSymbols,L.supermap.symbolInfoService(this.serverUrl).getSymbolInfo(o,function(t){this.symbolData.innerCells=t.result.innerCells,this.symbolData.scalePoints=t.result.scalePoints,this.symbolData.scaleValues=t.result.scaleValues,this.redraw(),this._updateSymbolTexts()},this)}else this.superMapAlgoSymbol;this.redraw(),this._updateSymbolTexts()},_resize:function(t,e){T.prototype._resize.call(this,t,e);var i=new SuperMapAlgoPlot.Point(e.lng,e.lat);if(this.superMapAlgoSymbol){for(let e=0;ee.length-1&&(this.curPlayGroup=0);for(var i=e[this.curPlayGroup],o=0;o0&&this.curPlayGroup--}}reset(){if(0!==this.goAnimations.length){for(var t=0;t=0;u--){var n=e[u],a=n.startTime+n.duration;if(a>s&&(s=a),n.animationPlayType===o.PLAYAFTERLASTONE){i=!0;for(let t=u-1;t>=0;t--){var r=e[t],p=r.startTime+r.duration;p>l&&(l=p)}}}return{isExist:i,length1:l,length2:s}}getAllGroups(){var t=[];for(let l=0;lthis.goAnimations.length)){var i=this.goAnimations.indexOf(t);if(i!==e){this.goAnimations=this.move(i,e);for(var o=0;o=0;t--){if(i[t].animationPlayType===o.PLAYAFTERLASTONE){n=t;break}}if(-1===n)e=t.startTime;else{s=this.getAnimationTimeLength(n,i);e=t.startTime-s.length2}}return e}}SuperMapAlgoPlot.GOAnimationManagerBase=x;var O=L.Evented.extend({startTime:0,duration:5,repeat:!1,name:null,animationState:SuperMap.Plot.GOAnimationState.UNKNOWN,goFeature:null,animationGOFeature:null,innerStartTime:0,lastExecute:!1,pauseTime:0,ratio:0,symbolTexts:[],animationPlayType:SuperMap.Plot.AnimationPlayType.UNKNOWN,groupName:null,delayTime:0,playSpeed:1,playPastRatio:0,initialize:function(t){SuperMap.Util.extend(this,t)},destroy:function(){this.showAnimationFeature(!1),this.removeAnimationFeature(),this.goFeature=null,this.animationGOFeature=null,this.name=null,this.animationState=SuperMap.Plot.GOAnimationState.UNKNOWN;for(var t=0;tt)return!1;var e=this.getRatioByTime();return!(e>1&&this.lastExecute||e<0)},getRatioByTime:function(){if(this.animationState!==SuperMap.Plot.GOAnimationState.PLAYING)return 0;var t=L.supermap.plotting.getControl().getGOAnimationManager();let e=this.computePlayRatio();return e>=1&&!this.lastExecute&&(this.repeat?(e=0,this.lastExecute=!1,this.animationState=SuperMap.Plot.GOAnimationState.PLAYING,t.fire(SuperMap.Plot.Event.animationbegin,{result:this.name}),this.innerStartTime=(new Date).getTime()/1e3,this.playTime=(new Date).getTime()/1e3):(e=1,this.lastExecute=!0,this.animationState=SuperMap.Plot.GOAnimationState.STOP,t.fire(SuperMap.Plot.Event.animationend,{result:this.name})),this.playSpeedTime=(new Date).getTime()/1e3,this.playPastRatio=0),e<0&&(e=0,this.playSpeedTime=(new Date).getTime()/1e3,this.playPastRatio=0),this.ratio=e,e},getPlaySpeed:function(){return this.playSpeed},setPlaySpeed:function(t){t!==this.playSpeed&&(this.setPlayRatioState(),this.playSpeed=t,L.supermap.plotting.getControl().getGOAnimationManager().fire(SuperMap.Plot.Event.animationmodify,{result:this.getJSONData()}))},setFastForWardTime:function(t){if(t<0)return;let e=t/this.duration;e>1&&(e=1),this.playPastRatio+=e,L.supermap.plotting.getControl().getGOAnimationManager().fire(SuperMap.Plot.Event.animationmodify,{result:this.getJSONData()})},setRewindTime:function(t){if(t<0)return;let e=-t/this.duration;e>0&&(e=0),this.playPastRatio+=e,L.supermap.plotting.getControl().getGOAnimationManager().fire(SuperMap.Plot.Event.animationmodify,{result:this.getJSONData()})},setPlayRatioState:function(){this.playSpeedTime=(new Date).getTime()/1e3,this.playPastRatio=this.ratio},computePlayRatio:function(){let t=0;const e=(new Date).getTime()/1e3,i=this.duration/this.playSpeed;return t=this.playTime===this.playSpeedTime?(e-this.innerStartTime-this.startTime)/i:(e-this.playSpeedTime)/i,t+=this.playPastRatio,this.innerStartTime+this.startTime>=e||t<0?0:t},showAnimationFeature:function(t){if(null!==this.animationGOFeature&&null!==this.animationGOFeature.style&&(this.resetAnimationFeature(t),this.animationGOFeature.redraw()),null!==this.goFeature&&null!==this.goFeature.style){if(t){this.goFeature.style.display="none";for(let t=0;te.length?(this._executeAndRatioIsZero(),!0):(this.animationGOFeature.setLatLngs(L.Util.superMapPointsToLatLngs(e)),!0)},_execute_Generalization:function(t){if(0===this.lineLength&&(this.controlPoints=L.Util.latLngsToSuperMapPoints(this.goFeature.getLatLngs()),this.lineLength=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints)),0===t)return this._executeAndRatioIsZero(),!0;for(var e=[],i=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=this._findPos(this.lineLength*t,i),l=0;l<=o.pos;l++)e.push(i[l]);return e.push(o.pts),SuperMap.Plot.AlgoSymbolFactory.isAccessServer(this.animationGOFeature.libID,this.animationGOFeature.code)&&this.goFeature.symbolData.algoMinEditPts>e.length?(this._executeAndRatioIsZero(),!0):(this.animationGOFeature.latLngs=L.Util.superMapPointsToLatLngs(e),this.animationGOFeature.redraw(),!0)},_execute_Rect:function(t){0===this.controlPoints.length&&(this.controlPoints=L.Util.latLngsToSuperMapPoints(this.goFeature.getLatLngs()));var e=new SuperMap.Geometry.Point((this.controlPoints[0].x+this.controlPoints[1].x)/2,(this.controlPoints[0].y+this.controlPoints[1].y)/2),i=Math.abs(this.controlPoints[0].x-this.controlPoints[1].x)/2*t,o=Math.abs(this.controlPoints[0].y-this.controlPoints[1].y)/2*t,l=new SuperMap.Geometry.Point(e.x-i,e.y+o),s=new SuperMap.Geometry.Point(e.x+i,e.y-o);return this.animationGOFeature.setLatLngs(L.Util.superMapPointsToLatLngs([l,s])),!0},_execute_Circle:function(t){0===this.controlPoints.length&&(this.controlPoints=L.Util.latLngsToSuperMapPoints(this.goFeature.getLatLngs()));var e=this.controlPoints[0].clone(),i=t*Math.sqrt((this.controlPoints[0].x-this.controlPoints[1].x)*(this.controlPoints[0].x-this.controlPoints[1].x)+(this.controlPoints[0].y-this.controlPoints[1].y)*(this.controlPoints[0].y-this.controlPoints[1].y));return this.animationGOFeature.setLatLngs(L.Util.superMapPointsToLatLngs([e,new SuperMap.Geometry.Point(e.x+i,e.y)])),!0},_execute_Kidney:function(t){if(0===this.controlPoints.length&&(this.controlPoints=L.Util.latLngsToSuperMapPoints(this.goFeature.getLatLngs())),0===t)return this._executeAndRatioIsZero(),!0;var e=[],i=this.controlPoints.length,o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(this.controlPoints);if(null===o)return this._executeAndRatioIsZero(),!0;for(var l=0;ls)return!1;var a=SuperMap.Plot.PlottingUtil.linePnt(o,this.controlPoints[l],n);e.push(a)}return this.animationGOFeature.setLatLngs(L.Util.superMapPointsToLatLngs(e)),!0},_execute_RegularPloygon:function(t){if(0===this.controlPoints.length&&(this.controlPoints=L.Util.latLngsToSuperMapPoints(this.goFeature.getLatLngs())),0===t)return this._executeAndRatioIsZero(),!0;var e=this.controlPoints.length,i=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],this.controlPoints[this.controlPoints.length-1])*t,o=new SuperMap.Geometry.Point(this.controlPoints[0].x+i,this.controlPoints[0].y),l=2*Math.PI/(e+1),s=Math.PI/2+this.animationGOFeature.dRotate,n=o;SuperMap.Plot.PlottingUtil.rotateAngle(this.controlPoints[0],s,n);var a=[];a.push(this.controlPoints[0].clone()),a.push(n);for(var r=n.clone(),p=1;p1&&(this.startScale=1),this.endScale<0&&(this.endScale=0),this.endScale>1&&(this.endScale=1)},execute:function(){if(!(this.goFeature instanceof v))return!1;if(!this.canExecute())return!1;this.endScale>1&&(this.endScale=1);var t=(new Date).getTime();if(this.lastDrawTime>0&&t-this.timeSpace=t);i++)o+=l;var s,n=new Object;return s=i1?1:parseFloat(t),this.animationGOFeature.style.display="display",this.animationGOFeature.style.opacity=e,this.animationGOFeature.style.fontOpacity=e,this.animationGOFeature.style.surroundLineColorOpacity=this.goFeature.style.surroundLineColorOpacity*t,this.animationGOFeature.style.fill&&(this.animationGOFeature.style.fillOpacity=this.goFeature.style.fillOpacity*t,this.animationGOFeature.style.fillBackOpacity=this.goFeature.style.fillBackOpacity*t),this.animationGOFeature.redraw()},getJSONData:function(){var t=O.prototype.getJSONData.call(this);return t.showEffect=this.showEffect,t.finalDisplay=this.finalDisplay,t},fromJSONData:function(t){O.prototype.fromJSONData.call(this,t),this.showEffect=t.showEffect,this.finalDisplay=t.finalDisplay,L.supermap.plotting.getControl().getGOAnimationManager().fire(SuperMap.Plot.Event.animatitonpropertyconfig,{jsonData:t})}});L.supermap.plotting.GOAnimationShow=U;var N=O.extend({showPath:!1,tangentDirection:!1,pathWidth:1,pathColor:"#FF0000",currentPt:null,pathType:SuperMap.Plot.WayPathType.POLYLINE,wayPoints:null,shapePoints:null,pathFeature:null,pathLength:0,path:null,destroy:function(){null!==this.pathFeature&&(L.supermap.plotting.getControl().getGOAnimationManager().map.removeLayer(this.pathFeature),this.pathFeature=null);O.prototype.destroy.call(this)},getGOAnimationType:function(){return SuperMap.Plot.GOAnimationType.ANIMATION_WAY},setShowPath:function(t){this.showPath=t,L.supermap.plotting.getControl().getGOAnimationManager().fire(SuperMap.Plot.Event.animationmodify,{result:this.getJSONData()})},setPath:function(t){this.path=t},setTangentDirection:function(t){this.tangentDirection=t,L.supermap.plotting.getControl().getGOAnimationManager().fire(SuperMap.Plot.Event.animationmodify,{result:this.getJSONData()})},resetAnimationFeature:function(t){O.prototype.resetAnimationFeature.call(this,t);var e=this.goFeature.dRotate,i=this.animationGOFeature.dRotate;this.animationGOFeature._rotate(e-i,this.animationGOFeature.getLatLngs()[0]),t&&(null!==this.pathFeature&&null!==this.shapePoints||(this._makePath(),this.pathColor&&(this.pathFeature.options.color=this.pathColor),this.pathWidth&&(this.pathFeature.options.weight=this.pathWidth)),this.pathFeature.options.opacity=0,1!==this.animationGOFeature.symbolType&&(this.pathFeature.options.opacity=0),this.pathFeature.setStyle())},execute:function(){if(this.goFeature.symbolType!==SuperMap.Plot.SymbolType.DOTSYMBOL)return null!==this.pathFeature&&(this.pathFeature.options.opacity=0),!1;if(!this.canExecute())return!1;this.showPath&&0===this.pathFeature.options.opacity&&(this.pathFeature.options.opacity=1,this.pathFeature.setStyle());var t=this.ratio,e=t*this.pathLength,i=new Object,o=this._findPos(e,this.shapePoints,i);this.currentPt=o.clone();var l=this.animationGOFeature.getLatLngs()[0],s=o.y-l.lat,n=o.x-l.lng;if(this.animationGOFeature.move(s,n),this.tangentDirection){null==this.prevAngle&&(this.prevAngle=0);var a=i.angle;1===t&&(a=0),this.animationGOFeature._rotate(a-this.prevAngle,this.animationGOFeature.getLatLngs()[0]),this.prevAngle=a}return!0},setWayPoints:function(t){(!t||!SuperMap.Util.isArray(t)||2>t.length)&&(t=[this.goFeature.getLatLngs()[0],this.goFeature.getLatLngs()[0]]),this.wayPoints=[],this.wayPoints=L.Util.cloneLatLngs(t);var e=L.supermap.plotting.getControl().getGOAnimationManager();null!==this.pathFeature&&(e.map.removeLayer(this.pathFeature),this.pathFeature=null),e.fire(SuperMap.Plot.Event.animationmodify,{result:this.getJSONData()})},getWayPoints:function(){return this.wayPoints},getCurrentPt:function(){return this.currentPt},setPathColor:function(t){t&&(this.pathColor=t,this.pathFeature&&null!==this.pathFeature&&(this.pathFeature.options.color=this.pathColor,this.pathFeature.setStyle(this.pathFeature.options),L.supermap.plotting.getControl().getGOAnimationManager().fire(SuperMap.Plot.Event.animationmodify,{result:this.getJSONData()})))},getPathColor:function(){return this.pathColor},setPathWidth:function(t){t&&(this.pathWidth=t,this.pathFeature&&null!==this.pathWidth&&(this.pathFeature.options.weight=this.pathWidth,this.pathFeature.setStyle(this.pathFeature.options),L.supermap.plotting.getControl().getGOAnimationManager().fire(SuperMap.Plot.Event.animationmodify,{result:this.getJSONData()})))},getPathWidth:function(){return this.pathWidth},setPathType:function(t){if(void 0!==t&&null!==t&&this.pathType!==t){this.pathType=t;var e=L.supermap.plotting.getControl().getGOAnimationManager();null!==this.pathFeature&&(e.map.removeLayer(this.pathFeature),this.pathFeature.destroy(),this.pathFeature=null),e.fire(SuperMap.Plot.Event.animationmodify,{result:this.getJSONData()})}},getPathType:function(){return this.pathType},_makePath:function(){((null===this.wayPoints||2>this.wayPoints.length)&&(this.wayPoints=[this.goFeature.getLatLngs()[0],this.goFeature.getLatLngs()[0]]),null===this.pathFeature)&&(this.pathType===SuperMap.Plot.WayPathType.POLYLINE?this.shapePoints=L.Util.latLngsToSuperMapPoints(this.wayPoints):this.shapePoints=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(L.Util.latLngsToSuperMapPoints(this.wayPoints)),this.pathFeature=L.polyline(L.Util.superMapPointsToLatLngs(this.shapePoints),SuperMap.Plot.PlottingUtil.cloneObject(this.animationGOFeature.style)),L.supermap.plotting.getControl().getGOAnimationManager().map.addLayer(this.pathFeature));this.pathLength=0;for(var t=1;t=t);o++)l+=s;var n=SuperMap.Plot.PlottingUtil.findPoint(e[o-1],e[o],t-l,0);return this.tangentDirection&&(i.angle=SuperMap.Plot.PlottingUtil.radian(n,e[o])/Math.PI*180),n},getJSONData:function(){var t=O.prototype.getJSONData.call(this);t.showPath=this.showPath,t.tangentDirection=this.tangentDirection,t.pathType=this.pathType,t.pathWidth=this.pathWidth,this.pathColor&&(t.pathColor=SuperMapAlgoPlot.PlottingUtil.colorStringToRGB(this.pathColor)),t.wayPoints=[];for(var e=0;e=this.libIDs.length?-1:this.libIDs[t]},getSymbolLibJSONInfo:function(t){return t>=this.libIDs.length?null:this.symbolLibJsons[t]},getSymbolLibByIndex:function(t){return t>=this.libIDs.length?null:this.symbolLibs[t]},getSymbolLibByLibId:function(t){for(var e=0;ethis.maxCount-1&&this.undoTransactions.splice(0,this.undoTransactions.length-this.maxCount+1),this.undoTransactions.push(t)},undo:function(){var t=this.undoTransactions.length;if(t>0){var e=this.undoTransactions[t-1];this.doTransaction(e,!0),this.redoTransactions.push(e),this.undoTransactions.splice(t-1,1)}},redo:function(){var t=this.redoTransactions.length;if(t>0){var e=this.redoTransactions[t-1];this.doTransaction(e),this.undoTransactions.push(e),this.redoTransactions.splice(t-1,1)}},doTransaction:function(t,e){var i=t.transInfos;if(t.transType===SuperMap.Plot.TransactionType.CREATE)for(var o=0,l=i.length;o0&&n.setFontAlign(a[0]);else if("setLatLngs"===i[s].functionName)a.length>0&&n.setLatLngs(a[0]);else if("modifyPoint"===i[s].functionName)a.length>0&&n._modifyPoint(a[0],a[1]);else if("setTextContent"===i[s].functionName)a.length>0&&n.setTextContent(a[0]);else if("setRadiusText"===i[s].functionName)2===a.length&&n.setRadiusText(a[0],a[1]);else if("setType"===i[s].functionName&&n instanceof L.supermap.plotting.RouteNode)a.length>0&&n.setType(a[0]);else if("setStrokeColor"===i[s].functionName&&n.geometry instanceof SuperMap.Geometry.GroupObject)a.length>0&&n.setStyle(a[0]);else if("addAvoidRegion"===i[s].functionName)a.length>0&&(a[0]&&a[0].layer&&a[0].layer.removeFeatures(a[0]),e?n.removeAvoidRegions(a[0]):n.addAvoidRegion(a[0]));else if("removeAvoidRegions"===i[s].functionName){if(a.length>0){for(let t=0;t0&&(r=t.unGroupObject(i[s].undoParams[0])):"createGroupObject"===i[s].functionName?r=t.createGroupObject(i[s].redoParams[0]):"createFlags"===i[s].functionName&&(r=t.createFlags(i[s].redoParams[0])),null!==r&&t._map.getPlotEditControl().selectFeatures(r)}else"updateSymbolText"===i[s].functionName?a.length>0&&n.updateSymbolText(a[0],a[1]):i[s].functionName&&null!==a&&n[i[s].functionName](a[0],a[1]);if(i[s].propertyName){var p=i[s].undoValue;e||(p=i[s].redoValue),Object.prototype.hasOwnProperty.call(n,i[s].propertyName)?n[i[s].propertyName]=p:null!==n&&(n.style[i[s].propertyName]=p)}n&&n.layer&&(n.symbolType!==SuperMap.Plot.SymbolType.DOTSYMBOL||8!==n.textPosition||"fontColor"!==i[s].propertyName&&"fontFamily"!==i[s].propertyName||n._calculateParts(),n.redraw(),n.fire(SuperMap.Plot.Event.reseteditmarkersvalues))}}else if(t.transType===SuperMap.Plot.TransactionType.REMOVE)for(var u=0;u0;)this.map.removeLayer(this.plottingLayers[0]);this.plottingLayers.length=0},getLayerScale:function(t){var e=0;if(null===this.map)return 0;var i=this.map._layers;for(var o in i)if(i[o]instanceof L.TileLayer){e=i[o].getScale(t);break}return e},_savePlotLayers:function(t){for(var e=0;en.lat?s.lat:n.lat;if(!(e.latr))(e.lat-s.lat)*(n.lng-s.lng)/(n.lat-s.lat)+s.lng>e.lng&&i++}}return i%2==1},getGObjectsInCircle:function(t,e){if(t&&e){for(var i=[],o=this.map.getPlottingLayers(),l=0;lMath.sqrt(Math.pow(t.lng-r.lng,2)+Math.pow(t.lat-r.lat,2))&&i.push(a)}}}return i}},getGObjectsInRect:function(t,e){if(t&&e){for(var i=[],o=this.map.getPlottingLayers(),l=0;le.lat?r.lng>t.lng&&r.lnge.lat&&i.push(a):r.lnge.lng&&r.late.lat&&i.push(a)}}}return i}}});L.supermap.plotting.query=function(t){return new ot(t)};var lt=T.extend({symbolSizeInLib:null,dRotate:0,initialScale:null,symbolSize:null,positionOffset:!1,positionOffsetType:null,positionOffsetX:null,positionOffsetY:null,symbolRank:null,negativeImage:null,horizontalMirror:null,verticalMirror:null,middleMarkBounds:null,flagTextSize:60,space:7,deployments:null,joinLines:null,trajectory:null,detectionRange:null,limitWidthHeight:!0,symbolTexts:null,symbolTextComponents:null,bloodVolumes:null,bloodVolumeComponents:null,pictureFrames:null,pictureFrameComponents:null,antoRotation:null,initialize:function(t,e,i,o){if(this.autoRotation=!1,this.symbolType=SuperMap.Plot.SymbolType.DOTSYMBOL,this.minEditPts=1,this.maxEditPts=1,this.joinLines=[],this.deployments=[],this.symbolTexts=[],this.bloodVolumes=[],this.pictureFrames=[],this.symbolTextComponents=[],this.bloodVolumeComponents=[],this.pictureFrameComponents=[],this.minScale=1,this.maxScale=5,this.symbolSizeInLib=new SuperMap.Size(0,0),this.symbolSizeInLib=new SuperMap.Size(0,0),this.symbolSize=new SuperMap.Size(0,0),null===this.initialScale&&(this.initialScale={}),T.prototype.initialize.call(this,t,e,i,o),null===this.positionOffsetType&&(this.positionOffsetType=SuperMap.Plot.PositionOffsetType.LINE),null===this.positionOffsetX&&(this.positionOffsetX=0),null===this.positionOffsetY&&(this.positionOffsetY=0),void 0===this.actualScale&&(this.actualScale=this.dScale),null!=this.maxScale&&this.dScale>this.maxScale?this.dScale=this.maxScale:null!=this.minScale&&this.dScalethis.maxScale&&(s=this.maxScale),null!=this.minScale&&sthis.maxScale&&(t=this.maxScale);var e=SuperMap.Plot.AnalysisSymbol.analysisSymbolCells(this.symbolData,!0),i=this._map.latLngToLayerPoint(this.getLatLngs()[0]);if(!0===this.positionOffset&&(i.x+=this.positionOffsetX,i.y+=this.positionOffsetY),!0===this.limitWidthHeight)var o=this.initialScale.x*t;for(var l=0,s=e.length;lthis.maxScale&&(o=this.maxScale);for(var l=0;l45&&l<135||l>225&&l<315){let i=L.point(n.x-this.style.weight/2,n.y),o=L.point(n.x+this.style.weight/2,n.y);t=this._map.layerPointToLatLng(i),e=this._map.layerPointToLatLng(o)}else{let i=L.point(n.x,n.y-this.style.weight/2),o=L.point(n.x,n.y+this.style.weight/2);t=this._map.layerPointToLatLng(i),e=this._map.layerPointToLatLng(o)}let r=[this.getLatLngs()[0],t,e];this._createAndDrawLayer(32,r,{surroundLineFlag:!1,lineWidthLimit:!0,weight:0,fillLimit:!0,fill:!0}).isLeadLine=!0}},_handleAnnotation:function(t){if(null!=this._annotationId&&-1!==this._annotationId&&(null!=this.components[this._annotationId]._renderer&&(this.components[this._annotationId].removeEventParent(this),this.components[this._annotationId].onRemove()),delete this.components[this._annotationId],this.components.splice(this._annotationId,1),this._annotationId=-1),!1!==this.textDisplay&&(this.textContent=SuperMap.Plot.PlottingUtil.trim(this.textContent),null==t&&(t=this.getBounds()),t.isValid()&&this.textContent&&null!==this.textContent&&0!==this.textContent.length&&null!==t&&t.isValid())){var e={};SuperMap.Plot.PlottingUtil.cloneObject(this.style);var i=1;this.scaleByMap&&"function"==typeof this.layer.getSymZoomScale&&(i=this.layer.getSymZoomScale(),null!=this.minScale&&ithis.maxScale&&(i=this.maxScale));var o=this.space*i,l=null;if(0===this.annotationPosition){e.labelAlign="rb";let i=L.latLng(t.getNorth(),t.getWest()),s=this._map.latLngToLayerPoint(i);s.x-=o,l=this._map.layerPointToLatLng(s)}else if(1===this.annotationPosition){e.labelAlign="rt";let i=L.latLng(t.getSouth(),t.getWest()),s=this._map.latLngToLayerPoint(i);s.x-=o,l=this._map.layerPointToLatLng(s)}else if(2===this.annotationPosition){e.labelAlign="lb";let i=L.latLng(t.getNorth(),t.getEast()),s=this._map.latLngToLayerPoint(i);s.x+=o,l=this._map.layerPointToLatLng(s)}else if(3===this.annotationPosition){e.labelAlign="lt";let i=L.latLng(t.getSouth(),t.getEast()),s=this._map.latLngToLayerPoint(i);s.x+=o,l=this._map.layerPointToLatLng(s)}else if(4===this.annotationPosition){e.labelAlign="cb";let i=L.latLng(t.getNorth(),(t.getWest()+t.getEast())/2),s=this._map.latLngToLayerPoint(i);s.y-=o,l=this._map.layerPointToLatLng(s)}else if(5===this.annotationPosition){e.labelAlign="ct";let i=L.latLng(t.getSouth(),(t.getWest()+t.getEast())/2),s=this._map.latLngToLayerPoint(i);s.y+=o,l=this._map.layerPointToLatLng(s)}else if(6===this.annotationPosition){e.labelAlign="rm";let i=L.latLng((t.getSouth()+t.getNorth())/2,t.getWest()),s=this._map.latLngToLayerPoint(i);s.x-=o,l=this._map.layerPointToLatLng(s)}else if(7===this.annotationPosition){e.labelAlign="lm";let i=L.latLng((t.getSouth()+t.getNorth())/2,t.getEast()),s=this._map.latLngToLayerPoint(i);s.x+=o,l=this._map.layerPointToLatLng(s)}else if(8===this.annotationPosition&&this.symbolData.middleMarkExist){var s;s=!0===this.limitWidthHeight?this.middleMarkBounds.scale(this.initialScale.x*i,this.anchorPoint):this._widthHeightLimitScale();var n=new SuperMap.Geometry.Point((s.left+s.right)/2,(s.top+s.bottom)/2);if(this.negativeImage||this.horizontalMirror){var a=SuperMap.Plot.PlottingUtil.projectPoint(n,new SuperMap.Geometry.Point(this.anchorPoint.x,100),new SuperMap.Geometry.Point(this.anchorPoint.x,this.anchorPoint.y));SuperMap.Plot.PlottingUtil.rotateAngle(a,Math.PI,n)}if(this.verticalMirror){a=SuperMap.Plot.PlottingUtil.projectPoint(n,new SuperMap.Geometry.Point(this.anchorPoint.x,this.anchorPoint.y),new SuperMap.Geometry.Point(100,this.anchorPoint.y));SuperMap.Plot.PlottingUtil.rotateAngle(a,Math.PI,n)}n.x-=this.anchorPoint.x,n.y-=this.anchorPoint.y;var r=this.dRotate*(Math.PI/180);SuperMap.Plot.PlottingUtil.rotateAngle(new SuperMap.Geometry.Point(0,0),r,n);var p=this._map.latLngToLayerPoint(this.getLatLngs()[0]);!0===this.positionOffset&&(p.x+=this.positionOffsetX,p.y+=this.positionOffsetY);var u=96*s.getWidth()/25.4/10,h=96*s.getHeight()/25.4/10;e.graphicWidth=u,e.graphicHeight=h,l=this._transitionPoint(n,p)}if(8===this.annotationPosition&&this.symbolData.middleMarkExist){e.rotation=-this.dRotate,e.labelAlign="cm",e.graphicOpacity=1,e.fontColor=this.style.fontColor,e.fontFamily=this.style.fontFamily,e.fontWeight=this.style.fontWeight,e.fontStyle=this.style.fontStyle,e.externalGraphic=this._getTextGraphic(this.textContent,e);var g={externalGraphic:e.externalGraphic,graphicWidth:e.graphicWidth,graphicHeight:e.graphicHeight,rotation:-this.dRotate};let t=L.supermap.plotting.pointImage([l],g);this._annotationId=this.components.length,t.fromZoom=this._map.getZoom(),this._addComponents(t)}else if(8!==this.annotationPosition){e.fontSize=this.style.fontSize*i,e.fontSizeLimit=!1,e.labelRotation=0,this._annotationId=this.components.length;let t=this._createAndDrawLayer(34,[l],e,this.textContent);t.isAnnotation=!0,t.fromZoom=this._map.getZoom()}}},_calculateLabel:function(t,e){for(let t=0;tthis.maxScale&&(o=this.maxScale);for(var l=0;lp&&(p=c)}u=parseInt(n.style.fontSize*o*r)+n.paddingY*o*2}let m,f,M=L.point(0,0),b=L.point(0,0);switch(n.textPosition){case SuperMap.Plot.AnnoPosition.LEFTTOP:n.style.labelAlign="rb",m=L.latLng(t.getNorth(),t.getWest()),(f=this._map.latLngToLayerPoint(m)).x+=n.offsetX*o,f.y+=n.offsetY*o,!0===n.border&&(M.x=f.x,M.y=f.y,b.x=f.x-p,b.y=f.y-u);break;case SuperMap.Plot.AnnoPosition.LEFTBOTTOM:n.style.labelAlign="rt",m=L.latLng(t.getSouth(),t.getWest()),(f=this._map.latLngToLayerPoint(m)).x+=n.offsetX*o,f.y+=n.offsetY*o,!0===n.border&&(M.x=f.x,M.y=f.y,b.x=f.x-p,b.y=f.y+u);break;case SuperMap.Plot.AnnoPosition.RIGHTTOP:n.style.labelAlign="lb",m=L.latLng(t.getNorth(),t.getEast()),(f=this._map.latLngToLayerPoint(m)).x+=n.offsetX*o,f.y+=n.offsetY*o,!0===n.border&&(M.x=f.x,M.y=f.y,b.x=f.x+p,b.y=f.y-u);break;case SuperMap.Plot.AnnoPosition.RIGHTBOTTOM:n.style.labelAlign="lt",m=L.latLng(t.getSouth(),t.getEast()),(f=this._map.latLngToLayerPoint(m)).x+=n.offsetX*o,f.y+=n.offsetY*o,!0===n.border&&(M.x=f.x,M.y=f.y,b.x=f.x+p,b.y=f.y+u);break;case SuperMap.Plot.AnnoPosition.TOP:n.style.labelAlign="cb",m=L.latLng(t.getNorth(),(t.getWest()+t.getEast())/2),(f=this._map.latLngToLayerPoint(m)).x+=n.offsetX*o,f.y+=n.offsetY*o,!0===n.border&&(M.x=f.x-p/2,M.y=f.y,b.x=f.x+p/2,b.y=f.y-u);break;case SuperMap.Plot.AnnoPosition.BOTTOM:n.style.labelAlign="ct",m=L.latLng(t.getSouth(),(t.getWest()+t.getEast())/2),(f=this._map.latLngToLayerPoint(m)).x+=n.offsetX*o,f.y+=n.offsetY*o,!0===n.border&&(M.x=f.x-p/2,M.y=f.y,b.x=f.x+p/2,b.y=f.y+u);break;case SuperMap.Plot.AnnoPosition.LEFT:n.style.labelAlign="rm",m=L.latLng((t.getSouth()+t.getNorth())/2,t.getWest()),(f=this._map.latLngToLayerPoint(m)).x+=n.offsetX*o,f.y+=n.offsetY*o,!0===n.border&&(M.x=f.x,M.y=f.y+u/2,b.x=f.x-p,b.y=f.y-u/2);break;case SuperMap.Plot.AnnoPosition.RIGHT:n.style.labelAlign="lm",m=L.latLng((t.getSouth()+t.getNorth())/2,t.getEast()),(f=this._map.latLngToLayerPoint(m)).x+=n.offsetX*o,f.y+=n.offsetY*o,!0===n.border&&(M.x=f.x,M.y=f.y+u/2,b.x=f.x+p,b.y=f.y-u/2);break;case SuperMap.Plot.AnnoPosition.ANCHOR:n.style.labelAlign="lm",m=L.latLng(e.lat,e.lng),(f=this._map.latLngToLayerPoint(m)).x+=n.offsetX*o,f.y+=n.offsetY*o,n.offsetX>0?(n.style.labelAlign="lm",!0===n.border&&(M.x=f.x,M.y=f.y+u/2,b.x=f.x+p,b.y=f.y-u/2)):(n.style.labelAlign="rm",!0===n.border&&(M.x=f.x,M.y=f.y+u/2,b.x=f.x-p,b.y=f.y-u/2))}var y=this._map.layerPointToLatLng(f);if(!0===n.showRelationLine&&(0!==n.offsetX||0!==n.offsetY)){let t=n.lineStyle;null==n.lineStyle&&(t=SuperMap.Util.copyAttributes(t,this.style)),t.lineColorLimit=!0,t.lineTypeLimit=!0,t.lineWidthLimit=!0;let e=this._createAndDrawLayer(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[y,m],t);e.isSymbolText=!0,e.fromZoom=this._map.getZoom(),s.push(e)}var P=SuperMap.Util.copyAttributes(i,n.style);if(n.border){var S=this._map.layerPointToLatLng(M),d=this._map.layerPointToLatLng(b);let t=this._createAndDrawLayer(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[S,d],SuperMap.Util.cloneObject(P));t.isSymbolText=!0,t.fromZoom=this._map.getZoom(),s.push(t);let e=M.xthis.symbolSizeInLib.w&&(e=this.symbolSizeInLib.h),0===e||0===t.dotSymbolSize)this.symbolSize.w=this.symbolSizeInLib.w,this.symbolSize.h=this.symbolSizeInLib.h;else if(0!==this.symbolSize.w||0===this.symbolData.symbolSize.x||0!==this.symbolSize.h||0===this.symbolData.symbolSize.y||this.minEditPts)if(0!==this.symbolSize.w||0!==this.symbolSize.h);else{var i=t.dotSymbolSize/e;this.symbolSize.w=i*this.symbolSizeInLib.w,this.symbolSize.h=i*this.symbolSizeInLib.h}else{this.symbolSize.w=96*this.symbolData.symbolSize.x/25.4/10,this.symbolSize.h=96*this.symbolData.symbolSize.y/25.4/10;var o=this.symbolSize.w/this.dScale/this.symbolSizeInLib.w,l=this.symbolSize.h/this.dScale/this.symbolSizeInLib.h;this.initialScale!==o?this.initialScale=o:this.initialScale!==l&&(this.initialScale=l),this.symbolSize.w=this.initialScale*this.dScale*this.symbolSizeInLib.w,this.symbolSize.h=this.initialScale*this.dScale*this.symbolSizeInLib.h}}var s=this.symbolSizeInLib.w,n=this.symbolSize.w;this.symbolSizeInLib.w0){var t=this._map.latLngToLayerPoint(this.getLatLngs()[0]),e=.5*this.style.graphicWidth-this.style.graphicXOffset,i=.5*this.style.graphicHeight-this.style.graphicYOffset,o=L.point(t.x-e,t.y-i),l=L.point(o.x+this.style.graphicWidth,o.y+this.style.graphicHeight),s=this._map.layerPointToLatLng(o),n=this._map.layerPointToLatLng(l),a=new L.latLngBounds;if(0!==this.dRotate){var r=[];r.push(new SuperMap.Geometry.Point(s.lng,s.lat)),r.push(new SuperMap.Geometry.Point(n.lng,s.lat)),r.push(new SuperMap.Geometry.Point(n.lng,n.lat)),r.push(new SuperMap.Geometry.Point(s.lng,n.lat));for(var p=null,u=null,h=null,g=null,c=this.dRotate*(Math.PI/180),y=0;yr[y].x&&(p=r[y].x),null==u?u=r[y].x:ur[y].y&&(h=r[y].y),null==g?g=r[y].y:gr&&(r=h)}p=parseInt(s.style.fontSize*a)+2*s.paddingY}let S,d,m=L.point(0,0),f=L.point(0,0);switch(s.textPosition){case SuperMap.Plot.AnnoPosition.LEFTTOP:s.style.labelAlign="rb",S=L.latLng(t.getNorth(),t.getWest()),(d=this._map.latLngToLayerPoint(S)).x+=s.offsetX,d.y+=s.offsetY,!0===s.border&&(m.x=d.x,m.y=d.y,f.x=d.x-r,f.y=d.y-p);break;case SuperMap.Plot.AnnoPosition.LEFTBOTTOM:s.style.labelAlign="rt",S=L.latLng(t.getSouth(),t.getWest()),(d=this._map.latLngToLayerPoint(S)).x+=s.offsetX,d.y+=s.offsetY,!0===s.border&&(m.x=d.x,m.y=d.y,f.x=d.x-r,f.y=d.y+p);break;case SuperMap.Plot.AnnoPosition.RIGHTTOP:s.style.labelAlign="lb",S=L.latLng(t.getNorth(),t.getEast()),(d=this._map.latLngToLayerPoint(S)).x+=s.offsetX,d.y+=s.offsetY,!0===s.border&&(m.x=d.x,m.y=d.y,f.x=d.x+r,f.y=d.y-p);break;case SuperMap.Plot.AnnoPosition.RIGHTBOTTOM:s.style.labelAlign="lt",S=L.latLng(t.getSouth(),t.getEast()),(d=this._map.latLngToLayerPoint(S)).x+=s.offsetX,d.y+=s.offsetY,!0===s.border&&(m.x=d.x,m.y=d.y,f.x=d.x+r,f.y=d.y+p);break;case SuperMap.Plot.AnnoPosition.TOP:s.style.labelAlign="cb",S=L.latLng(t.getNorth(),(t.getWest()+t.getEast())/2),(d=this._map.latLngToLayerPoint(S)).x+=s.offsetX,d.y+=s.offsetY,!0===s.border&&(m.x=d.x-r/2,m.y=d.y,f.x=d.x+r/2,f.y=d.y-p);break;case SuperMap.Plot.AnnoPosition.BOTTOM:s.style.labelAlign="ct",S=L.latLng(t.getSouth(),(t.getWest()+t.getEast())/2),(d=this._map.latLngToLayerPoint(S)).x+=s.offsetX,d.y+=s.offsetY,!0===s.border&&(m.x=d.x-r/2,m.y=d.y,f.x=d.x+r/2,f.y=d.y+p);break;case SuperMap.Plot.AnnoPosition.LEFT:s.style.labelAlign="rm",S=L.latLng((t.getSouth()+t.getNorth())/2,t.getWest()),(d=this._map.latLngToLayerPoint(S)).x+=s.offsetX,d.y+=s.offsetY,!0===s.border&&(m.x=d.x,m.y=d.y+p/2,f.x=d.x-r,f.y=d.y-p/2);break;case SuperMap.Plot.AnnoPosition.RIGHT:s.style.labelAlign="lm",S=L.latLng((t.getSouth()+t.getNorth())/2,t.getEast()),(d=this._map.latLngToLayerPoint(S)).x+=s.offsetX,d.y+=s.offsetY,!0===s.border&&(m.x=d.x,m.y=d.y+p/2,f.x=d.x+r,f.y=d.y-p/2);break;case SuperMap.Plot.AnnoPosition.ANCHOR:s.style.labelAlign="lm",S=L.latLng(e.lat,e.lng),(d=this._map.latLngToLayerPoint(S)).x+=s.offsetX,d.y+=s.offsetY,s.offsetX>0?(s.style.labelAlign="lm",!0===s.border&&(m.x=d.x,m.y=d.y+p/2,f.x=d.x+r,f.y=d.y-p/2)):(s.style.labelAlign="rm",!0===s.border&&(m.x=d.x,m.y=d.y+p/2,f.x=d.x-r,f.y=d.y-p/2))}var g=this._map.layerPointToLatLng(d);if(!0===s.showRelationLine&&(0!==s.offsetX||0!==s.offsetY)){let t=s.lineStyle;null==s.lineStyle&&(t=SuperMap.Util.copyAttributes(t,this.style)),t.lineColorLimit=!0,t.lineTypeLimit=!0,t.lineWidthLimit=!0;let e=this._createAndDrawLayer(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[g,S],t);e.isSymbolText=!0,e.fromZoom=this._map.getZoom(),l.push(e)}var c=SuperMap.Util.copyAttributes(i,s.style);if(s.border){var y=this._map.layerPointToLatLng(m),P=this._map.layerPointToLatLng(f);let t=this._createAndDrawLayer(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[y,P],SuperMap.Util.cloneObject(c));t.isSymbolText=!0,t.fromZoom=this._map.getZoom(),l.push(t);let e=m.x1&&(e=1),e<0&&(e=0),this.radiusText[e]!==t&&(this.radiusText[e]=t,this.redraw(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues))},getRadiusText:function(t){return t>1&&(t=1),t<0&&(t=0),this.radiusText[t]},setRadiusTextPos:function(t){this.radiusPosAngle!==t&&(this.radiusPosAngle=t,0!==this.radiusText.length&&(this.redraw(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues)))},getRadiusTextPos:function(){return this.radiusPosAngle},setRadiusLineType:function(t){this.radiusLineType!==t&&(this.radiusLineType=t,0!==this.radiusText.length&&(this.redraw(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues)))},getRadiusLineType:function(){return this.radiusLineType},initialize:function(t,e,i,o){this.scalePoints=[],this.scaleValues=[],T.prototype.initialize.call(this,t,e,i,o),this.libID=0,this.code=SuperMap.Plot.SymbolType.ARCREGION,this.symbolType=SuperMap.Plot.SymbolType.ARCREGION,this.symbolName="扇形区域",this.minEditPts=2,this.maxEditPts=3,null===this.circlePts&&(this.circlePts=[]),null===this.textPosition&&(this.textPosition=(this.startAngle+this.endAngle)/2),null===this.radiusText&&(this.radiusText=[]),null===this.radiusPosAngle&&(this.radiusPosAngle=(this.startAngle+this.endAngle)/2),null===this.radiusLineType&&(this.radiusLineType=SuperMap.Plot.RadiusLineType.NONE),void 0!==o.constantSize&&null!==o.constantSize||!1!==this.isEdit||(this.constantSize=!0),this.subSymbolDefaultPixelSize=15,0===this.scaleValues.length&&this.scaleValues.push(.1)},destroy:function(){this.centerPoint=null,this.radius=null,this.startAngle=null,this.endAngle=null,this.textPosition=null,this.radiusText=null,this.radiusPosAngle=null,this.radiusLineType=null,v.prototype.destroy.call(this)},_calculateParts:function(){if(this.scalePoints=[],this.isEdit?1===this.latLngs.length&&this.centerPoint!==this.latLngs[0]&&(this.centerPoint=this.latLngs[0]):(2===this.latLngs.length&&(this.centerPoint=this.latLngs[0],this.radius=SuperMap.Plot.PlottingUtil.distVincenty(this.latLngs[0],this.latLngs[1])),3===this.latLngs.length&&(this.startAngle=180*SuperMap.Plot.PlottingUtil.radian(new SuperMap.Geometry.Point(this.latLngs[0].lng,this.latLngs[0].lat),new SuperMap.Geometry.Point(this.latLngs[1].lng,this.latLngs[1].lat))/Math.PI,this.endAngle=180*SuperMap.Plot.PlottingUtil.radian(new SuperMap.Geometry.Point(this.latLngs[0].lng,this.latLngs[0].lat),new SuperMap.Geometry.Point(this.latLngs[2].lng,this.latLngs[2].lat))/Math.PI)),this.centerPoint&&null!==this.centerPoint&&this.radius&&null!==this.radius){this.startAngle%=360,this.endAngle%=360,this.startAngle>this.endAngle&&(this.endAngle+=360);var t=SuperMap.Plot.PlottingUtil.equalFuzzy(this.startAngle,this.endAngle);t&&(this.startAngle=0,this.endAngle=360);var e=this.getArcPts(this.startAngle,this.endAngle);if(!t){var i=e[0][0].clone();i.isScalePoint=!0,i.tag=0;var o=e[e.length-1][e[e.length-1].length-1].clone();o.isScalePoint=!0,o.tag=1,this.scalePoints.push(i),this.scalePoints.push(o),e[0].splice(0,0,this.centerPoint.clone()),e[e.length-1].push(this.centerPoint.clone()),this.latLngs.length>2&&this.latLngs.splice(1,this.latLngs.length-1)}for(let t=0;tthis.startAngle&&(this.textPositionthis.startAngle?(this.endAngle-this.textPositionthis.startAngle?(this.textPosition+=360,this.endAngle-this.textPositionthis.endAngle&&(this.textPosition>this.startAngle||this.textPosition=0;u--)p.push(r[u]);this.scaleByMap=!1,this._addComponents(L.supermap.plotting.PlottingObject.createSymbol(0,SuperMap.Plot.SymbolType.PATHTEXT,p,{textContent:this.textContent,showPathLine:!1,isCurve:!1,relLineText:a,scaleByMap:!1},this.style)),i=n[0][Math.ceil(n[0].length/2)].clone()}i.isScalePoint=!0,i.tag=2,this.scalePoints.push(i)}},_radiusGeometry:function(){if(0!==this.radiusText.length){this.radiusPosAngle%=360;var t=SuperMap.Plot.PlottingUtil.destinationVincenty(this.centerPoint,360-this.radiusPosAngle+90,1e3*this.radius),e=new SuperMap.Geometry.Point(t.lng,t.lat),i=new SuperMap.Geometry.Point(this.centerPoint.lng,this.centerPoint.lat),o=SuperMap.Plot.PlottingUtil.distance(i,e),l=[];if(l.push(this.centerPoint),l.push(L.latLng(e.y,e.x)),SuperMap.Plot.RadiusLineType.NONE!==this.radiusLineType&&this._createAndDrawLayer(SuperMap.Plot.SymbolType.POLYLINESYMBOL,l,{surroundLineFlag:!1}),this.radiusLineType===SuperMap.Plot.RadiusLineType.ARROW){var s;if(null===this.map)s=0;else{var n=this._map.layerPointToLatLng(L.point(0,0)),a=this._map.layerPointToLatLng(L.point(this.subSymbolDefaultPixelSize,0));s=SuperMap.Plot.PlottingUtil.distance(new SuperMap.Geometry.Point(n.lng,n.lat),new SuperMap.Geometry.Point(a.lng,a.lat))}var r=SuperMap.Plot.PlottingUtil.findPoint(e,i,s,12.5),p=SuperMap.Plot.PlottingUtil.findPoint(e,i,s,-12.5),u=[];u.push(L.latLng(e.y,e.x)),u.push(L.latLng(r.y,r.x)),u.push(L.latLng(p.y,p.x)),this.scaleByMap=!1,this._createAndDrawLayer(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,u,{surroundLineFlag:!1,fill:!0,fillLimit:!0,lineTypeLimit:!0})}if(SuperMap.Util.isArray(this.radiusText)||(this.radiusText=[this.radiusText]),this.radiusText.length>=1){var h=SuperMap.Plot.PlottingUtil.findPoint(i,e,.2*o,0),g=SuperMap.Plot.PlottingUtil.findPoint(i,e,.8*o,0),c=SuperMap.Plot.PlottingUtil.findPoint(h,e,.02*o,90),y=SuperMap.Plot.PlottingUtil.findPoint(g,e,.02*o,90),P=L.latLng(c.y,c.x),S=L.latLng(y.y,y.x);let t=SuperMap.Plot.RelLineText.ONLEFTLINE;var d=[];c.xthis.startAngle&&ithis.startAngle&&i+360this.startAngle&&othis.startAngle&&o+3600&&(this.centerPoint=this.latLngs[0].clone()),2===this.latLngs.length&&(this.radius=SuperMap.Plot.PlottingUtil.distVincenty(this.latLngs[0],this.latLngs[1]));this.redraw()},_resizeLatLngs:function(t,e,i,o){var l=!1;1===this.latLngs.length&&(l=!0,this.latLngs.push(this.scalePoints[0])),v.prototype._resizeLatLngs.call(this,t,e,i,o),this.centerPoint.lng=this.latLngs[0].lng,this.centerPoint.lat=this.latLngs[0].lat,this.radius=SuperMap.Plot.PlottingUtil.distVincenty(this.latLngs[0],this.latLngs[1]),l&&this.latLngs.splice(1,1)},setRotate:function(t){if(this.dRotate=t,this._rotate(t,this.centerPoint),this.radiusPosAngle+=t,this.startAngle+=t,this.endAngle+=t,this.textPosition+=t,this.latLngs=[],0!==this.avoidRegions.length)for(var e=0,i=this.avoidRegions.length;e2&&Math.abs(t.lng-o[o.length-1].lng)>180&&(i.push(o.slice()),o.length=0),o.push(t)}if(l-e>0&&l-e<5){let t=SuperMap.Plot.PlottingUtil.destinationVincenty(this.centerPoint,360-e+90,1e3*this.radius);o.push(t)}return i.push(o.slice()),i}});L.supermap.plotting.arcRegion=function(t,e,i,o){return new nt(t,e,i,o)};var at=m.extend({ratio:null,scalePoints:null,scaleValues:null,initialize:function(t,e,i,o){m.prototype.initialize.call(this,t,e,i,o),this.libID=0,this.code=SuperMap.Plot.SymbolType.FLAGGROUP,this.symbolType=SuperMap.Plot.SymbolType.FLAGGROUP,this.symbolName="多旗",o.subObjects&&(this.subObjects=o.subObjects),null===this.ratio&&(this.ratio=.8),this.scaleByMap=!0,this.minScale=1,this.maxScale=5},destroy:function(){m.prototype.destroy.call(this),this.ratio=[]},setRotate:function(t){isNaN(t)||(this.dRotate+=t,this.redraw())},redraw:function(){if("none"===this.style.display||null!=this.layer&&"function"==typeof this.layer.getVisibility&&!1===this.layer.getVisibility())this._clearComponents();else{if(L.Util.isArray(this.ratio)||(this.ratio=[this.ratio]),0===this.components.length&&0!==this.subObjects.length)for(let t=0,e=this.subObjects.length;t=0?t.negativeImage?new L.latLng(i.getNorth(),i.getEast()):new L.latLng(i.getNorth(),i.getWest()):t.negativeImage?new L.latLng(i.getSouth(),i.getWest()):new L.latLng(i.getSouth(),i.getEast())},_projectPoint:function(t,e,i){if(e===i)return e;var o=new L.latLng(0,0),l=i.lng-e.lng,s=e.lat-i.lat,n=l*l,a=s*s,r=l*s,p=l*l+s*s;return o.lng=(r*(e.lat-t.lat)+e.lng*a+t.lng*n)/p,o.lat=(r*(e.lng-t.lng)+e.lat*n+t.lat*a)/p,o},_modifyPoint:function(t,e){if(0===t)this.subObjects[0].setLatLngs([e]);else{var i=this.subObjects[t-1].latLngs[0],o=this._calculateFlagTop(this.subObjects[t-1]);o=this._pointRotate(this.dRotate,this.subObjects[0].latLngs[0],o);var l=Math.sqrt(Math.pow(i.lng-o.lng,2)+Math.pow(i.lat-o.lat,2)),s=this._projectPoint(e,i,o),n=Math.sqrt(Math.pow(i.lng-s.lng,2)+Math.pow(i.lat-s.lat,2));this.ratio[t-1]=n/l}this.redraw()},_reView:function(){for(var t in this.components)this.components[t].scaleByMap=this.scaleByMap,this.components[t].minScale=this.minScale,this.components[t].maxScale=this.maxScale,this.components[t]._reView();this.redraw(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues)},_parseSymbolData:function(){m.prototype._parseSymbolData.call(this),this.symbolData&&(this.ratio=this.symbolData.ratio)},_setSymbolData:function(){m.prototype._setSymbolData.call(this),this.symbolData&&(this.symbolData.ratio=this.ratio)}});L.supermap.plotting.flagGroup=function(t,e,i,o){return new at(t,e,i,o)},L.supermap.plotting.FlagGroup=at;var rt=m.extend({colNum:null,space:null,initialize:function(t,e,i,o){m.prototype.initialize.call(this,t,e,i,o),this.libID=0,this.code=SuperMap.Plot.SymbolType.NAVYDEPLOYMENT,this.symbolType=SuperMap.Plot.SymbolType.NAVYDEPLOYMENT,this.symbolName="海军兵力部署",null===this.colNum&&(this.colNum=1),null===this.space&&(this.space=10),this.scaleByMap=!0},destroy:function(){this.space=null,this.colNum=null,m.prototype.destroy.call(this)},redraw:function(){"none"===this.style.display||null!=this.layer&&"function"==typeof this.layer.getVisibility&&!1===this.layer.getVisibility()?this._clearComponents():this._redrawComponents()},_calculateParts:function(){var t=this._map.getFeatureByUuid(this.associatedUuid);if(null!==t&&t.symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL&&0!==t.latLngs.length){var e=!1;for(let i=0;ithis.maxScale&&(i=this.maxScale),0!==this.subObjects.length&&0===this.components.length)for(let t=0,e=this.subObjects.length;t=this.subSymbols[t].symbolData.innerCells[x].positionPoints[O].x*i&&(T=this.subSymbols[t].symbolData.innerCells[x].positionPoints[O].x*i),v<=this.subSymbols[t].symbolData.innerCells[x].positionPoints[O].y*i&&(v=this.subSymbols[t].symbolData.innerCells[x].positionPoints[O].y*i),_>=this.subSymbols[t].symbolData.innerCells[x].positionPoints[O].y*i&&(_=this.subSymbols[t].symbolData.innerCells[x].positionPoints[O].y*i);var w=L.latLng(b,M),I=this._map.latLngToLayerPoint(L.latLng(b,M)),C=new SuperMap.Geometry.Point(A,(v+_)/2),E=new SuperMap.Geometry.Point(C.x,C.y),D=new SuperMap.Geometry.Point(this.subSymbols[t].symbolData.anchorPoint.x,this.subSymbols[t].symbolData.anchorPoint.y),U=this._transitionPoint(E,I),N=this._transitionPoint(D,I);w.lat+=N.lat-U.lat,w.lng+=N.lng-U.lng;var R=this.subSymbols[t].symbolData.libID,B=this.subSymbols[t].symbolData.code;this.subSymbols[t].symbolData.annotationPosition=6;var F=SuperMap.Util.cloneObject(this.subSymbols[t].symbolData),k=L.supermap.plotting.PlottingObject.createSymbol(R,B,w,{serverUrl:this.serverUrl,symbolData:F,scaleByMap:this.scaleByMap,minScale:this.minScale,maxScale:this.maxScale,space:0});k.enableEdit=!0,k.ownerGroup=this,this._addComponents(k),this.bounds=new L.LatLngBounds,this.bounds.extend(k.getBoundsWithText()),this.subObjects.push(k)}if(this.bounds=new L.LatLngBounds,this.bounds=this._calculateBounds(),null!==this.textContent&&0!==this.textContent.length){var V=L.latLng(o[0].lat+c/2+n,o[0].lng-5*n),Y=L.supermap.plotting.PlottingObject.createSymbol(0,34,[V],{textContent:this.textContent,serverUrl:this.serverUrl,scaleByMap:this.scaleByMap,minScale:this.minScale,maxScale:this.maxScale});Y.style.labelAlign="rb",Y.style.scaleByMap=!0,Y.enableEdit=!0,Y.ownerGroup=this,this._addComponents(Y),this.bounds.extend(Y.getBounds()),this.subObjects.push(Y)}var z=new L.LatLngBounds(L.latLng(this.bounds.getSouth()-n,this.bounds.getWest()-n),L.latLng(this.bounds.getNorth()+n,this.bounds.getEast()+n)),G=[];G.push(L.latLng(z.getNorth(),z.getWest())),G.push(L.latLng(z.getSouth(),z.getEast()));var W=L.latLng(o[0].lat,o[0].lng);W.isFixedPos=!0,G.push(W);var j=L.supermap.plotting.PlottingObject.createSymbol(0,SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL,G,{serverUrl:this.serverUrl,scaleByMap:this.scaleByMap,minScale:this.minScale,maxScale:this.maxScale});for(var X in j.enableEdit=!0,j.ownerGroup=this,this.subObjects.splice(0,0,j),this._addComponents(j),this.subObjects)this.subObjects[X].ownerGroup=this,this.subObjects[X].enableEdit=!0,this._addComponents(this.subObjects[X])}},_reView:function(){this.redraw(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues)},move:function(t,e){for(var i in this.subObjects)this.subObjects[i].move(t,e);this.fire(SuperMap.Plot.Event.reseteditmarkersvalues)},_resize:function(t,e){for(var i in this.subObjects)this.subObjects[i]._resize(t,e)},_transitionPoint:function(t,e){var i=e.x+t.x*(96/254),o=e.y-t.y*(96/254);return this._map.layerPointToLatLng(L.point(i,o))},_getSubSymbolCount:function(t){var e=0;if(t<0)return e;t>this.subSymbols.length-1&&(t=this.subSymbols.length-1);for(var i=0;i<=t;i++)e+=this.subSymbols[t].totalNum;return e},_calculateBounds:function(){for(var t in this.bounds=new L.LatLngBounds,this.components)0!==t&&this.components[t].symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL&&this.bounds.extend(this.components[t].getBoundsWithText());return this.bounds},setTextContent:function(t){if(this.textContent!==t){this.textContent=t;for(var e=0;ethis.maxScale&&(i=this.maxScale),0!==this.subObjects.length&&0===this.components.length)for(let t=0,e=this.subObjects.length;t=P.length);S++){var m=P[d];if(void 0!==m.symbolData&&null!==m.symbolData){for(var f=m.symbolData.libID,M=m.symbolData.code,b=y.lng+S*(n+Math.abs(h.getEast()-h.getWest())),A=y.lat-(2*n+Math.abs(h.getNorth()-h.getSouth())/2),T=0,v=0,_=0,x=0,O=0;O=m.symbolData.innerCells[O].positionPoints[w].x*i&&(v=m.symbolData.innerCells[O].positionPoints[w].x*i),_<=m.symbolData.innerCells[O].positionPoints[w].y*i&&(_=m.symbolData.innerCells[O].positionPoints[w].y*i),x>=m.symbolData.innerCells[O].positionPoints[w].y*i&&(x=m.symbolData.innerCells[O].positionPoints[w].y*i);var I=L.latLng(A,b),C=this._map.latLngToLayerPoint(L.latLng(A,b)),E=new SuperMap.Geometry.Point((T+v)/2,_),D=new SuperMap.Geometry.Point(E.x,E.y),U=new SuperMap.Geometry.Point(P[d].symbolData.anchorPoint.x,P[d].symbolData.anchorPoint.y),N=this._transitionPoint(D,C),R=this._transitionPoint(U,C);I.lat+=R.lat-N.lat,I.lng+=R.lng-N.lng,m.symbolData.annotationPosition=5;var B=SuperMap.Util.cloneObject(m.symbolData),F=L.supermap.plotting.PlottingObject.createSymbol(f,M,I,{symbolData:B,scaleByMap:this.scaleByMap,minScale:this.minScale,maxScale:this.maxScale,space:0});F.enableEdit=!0,F.ownerGroup=this,this._addComponents(F),this.subObjects.push(F),d++}}this.bounds=this._calculateBounds(),y.lat=this.bounds.getSouth()}if(this.isShowTooltip){this.bounds=new L.LatLngBounds,this.bounds=this._calculateBounds();var k=new L.LatLngBounds(L.latLng(this.bounds.getSouth()-n,this.bounds.getWest()-n),L.latLng(this.bounds.getNorth()+5*n,this.bounds.getEast()+n)),V=[];V.push(L.latLng(k.getNorth(),k.getWest())),V.push(L.latLng(k.getSouth(),k.getEast()));var Y=L.latLng(o[0].lat,o[0].lng);Y.isFixedPos=!0,V.push(Y);var z=L.supermap.plotting.PlottingObject.createSymbol(0,SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL,V,{serverUrl:this.serverUrl,scaleByMap:this.scaleByMap,minScale:this.minScale,maxScale:this.maxScale});for(var G in z.enableEdit=!0,z.ownerGroup=this,this.subObjects.splice(0,0,z),this._addComponents(z),this._clearComponents(),this.subObjects)this.subObjects[G].enableEdit=!0,this.subObjects[G].ownerGroup=this,this._addComponents(this.subObjects[G])}}},_setSubSymbolText:function(){for(var t=0;t0&&(this.latLngs=L.Util.isArray(i)?i:[i]),SuperMap.Util.extend(this,o),void 0!==this.uuid&&null!==this.uuid||(this.uuid=SuperMap.Plot.PlottingUtil.generateUuid())},destroy:function(){this.libID=null,this.code=null,this.symbolType=null,this.symbolName=null,this.uuid=null,this.associatedUuid=null,this.minEditPts=null,this.maxEditPts=null,this.latLngs=null,this.components=null},onAdd:function(t){this.layer=t,this._renderer=t._renderer,this._map=t._map,this.redraw(),A&&(this.dragging||(this.dragging=new A(this)))},_clearComponents:function(){for(var t=0;t=this.minEditPts){let t=new L.Polygon(this.getLatLngs(),{smoothFactor:.05});this._addComponents(t),t.setStyle(this.style)}else if(this.getLatLngs().length>=2&&this.getLatLngs().length=p&&l<=h||p>h&&l<=p&&l>=h)){y=-1;break}g<=o||r!==u&&(gMath.max(r,u))||(p=p&&lh&&l=h)&&++y}else if(l===p&&(r<=u&&o>=r&&o<=u||r>=u&&o<=r&&o>=u)){y=-1;break}return-1===y?1:!!(1&y)},_relationToLayer:function(t){var e=2,i=[];if(t instanceof L.Polygon)(i=L.Util.latLngsToSuperMapPoints(t.getLatLngs()[0])).push(i[0].clone());else if(t instanceof L.Polyline)i=L.Util.latLngsToSuperMapPoints(t.getLatLngs());else if(t instanceof g){var o=t.getBounds();i.push(new SuperMap.Geometry.Point(o.left,o.top)),i.push(new SuperMap.Geometry.Point(o.left,o.bottom)),i.push(new SuperMap.Geometry.Point(o.right,o.bottom)),i.push(new SuperMap.Geometry.Point(o.top,o.right))}if(0===i.length)e=2;else{var l=this._containsPoint(i[0]);l&&(e=1);for(let t=1;t1&&(o.push(l),l=[]);0!==l.length&&o.push(l);var r=o.length;if(!0===e&&r>1&&SuperMap.Plot.PlottingUtil.equalFuzzy(o[0][0].x,o[r-1][o[r-1].length-1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(o[0][0].y,o[r-1][o[r-1].length-1].y)){for(var p=0;p0;)if(1===o.length)n.push(o[0]),o.splice(0,1);else{for(var a=0,r=SuperMap.Plot.PlottingUtil.distance(t,o[0]),p=1;p5?this.dScale=5:this.dScale<1&&(this.dScale=1),this.redraw()):this.redraw(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues),this.fromZoom=this._map.getZoom()},_calculateOffset:function(){var t=this.route._getNodeByUuid(this.towardNode.routeNodeId),e=L.latLng((this.startRouteNode.y+t.y)/2,(this.startRouteNode.x+t.x)/2),i=this._map.latLngToLayerPoint(e),o=this._map.latLngToLayerPoint(this.latLngs[0]);this.towardNode.offsetX=o.x-i.x,this.towardNode.offsetY=o.y-i.y},_getTextContentsCells:function(t){var e=this.towardNode.textContent,i=this.dScale*this.style.fontSize+1,o=this._map.layerPointToLatLng(L.point(0,0)),l=this._map.layerPointToLatLng(L.point(i,0)),s=SuperMap.Plot.PlottingUtil.distance({x:o.lng,y:o.lat},{x:l.lng,y:l.lat}),n=s,a=s*t,r=e.length+2,p=[],u=r*n*.5,h=new Object;h.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h.positionPoints=[],h.positionPoints.push(new SuperMap.Geometry.Point(u,0)),h.positionPoints.push(new SuperMap.Geometry.Point(-2*n+u,.5*a)),h.positionPoints.push(new SuperMap.Geometry.Point(-r*n+u,.5*a)),h.positionPoints.push(new SuperMap.Geometry.Point(-r*n+u,-.5*a)),h.positionPoints.push(new SuperMap.Geometry.Point(-2*n+u,-.5*a)),h.style={surroundLineFlag:!1,fontSize:12},p.push(h);for(var g=1;g<=e.length;g++){var c=new Object;c.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,c.positionPoints=[],c.positionPoints.push(new SuperMap.Geometry.Point(-(g+1)*n+u,.5*a)),c.positionPoints.push(new SuperMap.Geometry.Point(-(g+1)*n+u,-.5*a)),c.style={surroundLineFlag:!1,fontSize:12},p.push(c);var y=new Object;y.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,y.positionPoints=[],y.positionPoints.push(new SuperMap.Geometry.Point(-(.5+g+1)*n+u,0)),y.textContent=e[g-1],y.style={surroundLineFlag:!1,fontSize:12,fontFamily:"Microsoft YaHei"},y.style.labelAlign="cm",p.push(y)}var P=new SuperMap.Geometry.Point(-1.4*n+u,0),S=new Object;S.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,S.positionPoints=[],S.positionPoints.push(P),S.textContent=this.towardNode.index.toString(),S.style={surroundLineFlag:!1,fontSize:12,fontSizeLimit:!0,fontFamily:"Microsoft YaHei"},S.style.labelAlign="cm",p.push(S);var d=new Object;return d.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,d.positionPoints=[],d.positionPoints.push(P),d.positionPoints.push(new SuperMap.Geometry.Point(P.x,.4*n)),d.style={surroundLineFlag:!1,fontSize:12},p.push(d),p}});L.supermap.plotting.literateSign=function(t,e,i,o){return new ht(t,e,i,o)},L.supermap.plotting.LiterateSign=ht;var gt=v.extend({relLineText:0,showPathLine:!0,showPathLineArrow:!1,isCurve:!1,isAvoid:!1,textToLineDistance:0,fontSpace:0,getRelLineText:function(){return this.relLineText},setRelLineText:function(t){this.relLineText!==t&&(this.relLineText=t,this.redraw(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues))},setFontSpace:function(t){this.fontSpace!==t&&(this.fontSpace=t,this.redraw(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues))},getShowPathLine:function(){return this.showPathLine},setShowPathLine:function(t){this.showPathLine!==t&&(this.showPathLine=t,this.redraw(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues))},getShowPathLineArrow:function(){return this.showPathLineArrow},setShowPathLineArrow:function(t){this.showPathLineArrow!==t&&(this.showPathLineArrow=t,this.showPathLine&&(this.redraw(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues)))},getIsCurveLine:function(){return this.isCurve},setCurveLine:function(t){this.isCurve!==t&&(this.isCurve=t,this.showPathLine&&(this.redraw(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues)))},getIsAvoidLine:function(){return this.isAvoid},setAvoidLine:function(t){this.isAvoid!==t&&(this.isAvoid=t,this.relLineText===SuperMap.Plot.RelLineText.ONLINE&&this.showPathLine&&(this.redraw(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues)))},getSpace:function(){return this.textToLineDistance},setSpace:function(t){this.textToLineDistance!==t&&(this.textToLineDistance=t,this.relLineText!==SuperMap.Plot.RelLineText.ONLINE&&(this.redraw(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues)))},initialize:function(t,e,i,o){this.code=SuperMap.Plot.SymbolType.PATHTEXT,this.libID=0,this.symbolType=SuperMap.Plot.SymbolType.PATHTEXT,this.symbolName="沿线注记",this.minEditPts=2,this.maxEditPts=9999,o.scaleByMap=!1,v.prototype.initialize.call(this,t,e,i,o)},_reView:function(){this.fromZoom!==this._map.getZoom()&&(this.redraw(),this.fromZoom=this._map.getZoom())},toSuperMapAlgorithms:function(){v.prototype.toSuperMapAlgorithms.call(this),this.superMapAlgoSymbol.relLineText=this.relLineText,this.superMapAlgoSymbol.showPathLine=this.showPathLine,this.superMapAlgoSymbol.showPathLineArrow=this.showPathLineArrow,this.superMapAlgoSymbol.isCurve=this.isCurve,this.superMapAlgoSymbol.isAvoid=this.isAvoid,this.superMapAlgoSymbol.textToLineDistance=this.textToLineDistance}});L.supermap.plotting.pathText=function(t,e,i,o){return new gt(t,e,i,o)},L.supermap.plotting.PathText=gt;var ct=T.extend({route:null,routeNode:null,_isFirstNode:function(){for(var t=0;t=this.minEditPts){if(this.routeNode.type===SuperMap.Plot.RouteNodeType.STANDBY){var t=SuperMap.Plot.RouteNodePrimitives.getRouteNodeCells(this.routeNode.type,!1,this.routeNode.rotate);this._transformSymbolCellsToGeometrys(t);var e=SuperMap.Plot.RouteNodePrimitives.getRouteNodeCells(this.routeNode.type,!0);this._transformSymbolCellsToGeometrys(e)}else{var i=SuperMap.Plot.RouteNodePrimitives.getRouteNodeCells(this.routeNode.type);this._transformSymbolCellsToGeometrys(i)}if(this.routeNode.style=this.style,null!==this.routeNode.name&&""!==this.routeNode.name){var o=this.getBounds(),l=L.latLng(o.getNorth(),o.getEast()),s=this.routeNode.style;s.labelAlign="lb",this._createAndDrawLayer(SuperMap.Plot.SymbolType.TEXTSYMBOL,[l],s,this.routeNode.name).isNameLayer=!0}}},_transformSymbolCellsToGeometrys:function(t){for(var e=this._map.latLngToLayerPoint(this.latLngs[0]),i=0;i5?this.dScale=5:this.dScale<1&&(this.dScale=1),this.redraw()):this.redraw(),this.fromZoom=this._map.getZoom(),this.fire(SuperMap.Plot.Event.reseteditmarkersvalues))}});L.supermap.plotting.routeNode=function(t,e,i,o){return new ct(t,e,i,o)},L.supermap.plotting.RouteNode=ct;var yt=d.extend({routeNodes:[],nextRouteNodeType:SuperMap.Plot.RouteNodeType.TURNING,arrRoutePts:[],initialize:function(t,e,i,o){this.scaleByMap=!1,this.minEditPts=1,this.maxEditPts=9999,this.routeNodes=[],this.arrRoutePts=[],this.prevRouteNode=[],this.prevLiterateSign=[],d.prototype.initialize.call(this,t,e,i,o)},destroy:function(){this.routeNodes=null,this.arrRoutePts=null,d.prototype.destroy.apply(this,arguments)},highlight:function(t){for(var e in this.highlightFlag=!0,this.highlightStyle=t,this.components)if(this.components[e]instanceof v){var i=SuperMap.Util.copyAttributes(this.components[e].style,t);this.components[e].setStyle(i)}},unhighlight:function(){for(var t in this.components)if(this.components[t]instanceof v){var e=SuperMap.Util.copyAttributes(this.components[t].style,this.style);this.components[t].setStyle(e)}this.highlightFlag=!1,this.highlightStyle=null},blinkRoute:function(t,e,i,o){void 0===i&&(i=2),void 0===t&&(t={color:"#ff0000"}),void 0===e&&(e={color:"#0000ff"}),void 0===o&&(o=300);for(var l=[],s=0;s=this.minEditPts&&this._createAndDrawLayer(24,this.latLngs,this.style,"")},move:function(t,e){L.Util.moveLatLngs(this.getLatLngs(),t,e);for(var i=0,o=this.avoidRegions.length;i=this.minEditPts&&(this.scaleByMap=!0,this._createAndDrawLayer(32,this.latLngs,this.style,""))},move:function(t,e){L.Util.moveLatLngs(this.getLatLngs(),t,e);for(var i=0,o=this.avoidRegions.length;iSuperMap.Plot.PlottingUtil.distance(s[t],o[0])&&(r=SuperMap.Plot.PlottingUtil.distance(s[t],o[0]),n=t);var p=0;0===n&&(n=1);for(let t=0;t1&&(this.scaleByMap=!0,this._createAndDrawLayer(24,s,{surroundLineFlag:!1,lineWidthLimit:!0,weight:4*t.style.weight+this.style.weight}),s[0].isScalePoint=!0,s[0].tag=2*e,this.scalePoints.push(s[0]),s[s.length-1].isScalePoint=!0,s[s.length-1].tag=2*e+1,this.scalePoints.push(s[s.length-1]))}}},calculateBounds:function(){this.bounds=null;var t=new L.Bounds,e=this.components;if(e)for(var i=0;i=SuperMap.Plot.PlottingUtil.distance(s[0],n[t])&&(r=SuperMap.Plot.PlottingUtil.distance(s[0],n[t]),p=t);for(let e=0;e=SuperMap.Plot.PlottingUtil.distance(s[0],n[t])&&(u=SuperMap.Plot.PlottingUtil.distance(s[0],n[t]),p=t);for(let e=0;ee&&(this.symbolTexts[e]=t,this.redraw())},removeSymbolTextsFromDotSymbol:function(t){if(t&&"string"==typeof t){var e=this._map.getFeatureByUuid(t);if(e)for(var i=0,o=e.geoSymbolTexts.length;ithis.maxScale&&(s=this.maxScale);var n={surroundLineFlag:!1,lineColorLimit:!0,fillColorLimit:!0,lineWidthLimit:!0,lineTypeLimit:!0,fontColorLimit:!0,fontSizeLimit:!0,fillLimit:!0},a=t.getBounds();if((null==a||!a.isValid())&&null!=t.graphic&&null!=t.graphic.layer&&null!=t.graphic.getImage()){t.graphic._project();var r=t.graphic._pxBounds;null!=r&&r.isValid()&&(a.extend(this._map.layerPointToLatLng(r.min)),a.extend(this._map.layerPointToLatLng(r.max)))}if(a&&a.isValid()){for(let o=0,l=i.length;o0?(i[o].style.labelAlign="lm",!0===u&&(S.x=g.x,S.y=g.y+P/2,d.x=g.x+y,d.y=g.y-P/2)):(i[o].style.labelAlign="rm",!0===u&&(S.x=g.x,S.y=g.y+P/2,d.x=g.x-y,d.y=g.y-P/2))}var m=this._map.layerPointToLatLng(g);if(0!==i[o].offsetX||0!==i[o].offsetY){var f={};f.positionPoints=[m,h],f.style={},f.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,e.push(f)}var M=SuperMap.Util.copyAttributes(n,this.symbolTexts[o].style);if(u){var b=this._map.layerPointToLatLng(S),A=this._map.layerPointToLatLng(d),T={};T.positionPoints=[b,A],T.style=SuperMap.Util.cloneObject(M),T.type=SuperMap.Plot.SymbolType.RECTANGLESYMBOL,e.push(T),c=L.latLng((A.lat-b.lat)/2+b.lat,(b.lng-A.lng)/2+A.lng)}else c=m;var v={};v.positionPoints=c,v.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,v.style=SuperMap.Util.cloneObject(M),v.textContent=i[o].textContent,u&&(v.style.labelAlign="cm"),e.push(v),this.latLngs.push(m)}}for(var _,x=0;x0){var e=this._map.getFeatureByUuid(this.associatedUuid);if(null===e||void 0===e)return;var i=e.getBounds();if((null==i||!i.isValid())&&null!=e.graphic&&null!=e.graphic.layer&&null!=e.graphic.getImage()){e.graphic._project();var o=e.graphic._pxBounds;null!=o&&o.isValid()&&(i.extend(this._map.layerPointToLatLng(o.min)),i.extend(this._map.layerPointToLatLng(o.max)))}if(!i||!i.isValid())return;for(let o=0,a=t.length;othis.maxScale&&(p=this.maxScale),0===i?(a=L.latLng(s.getNorth(),s.getWest()),r=this._map.latLngToLayerPoint(a),this.symbolTexts[t].offsetX=(o.x-r.x)/p,this.symbolTexts[t].offsetY=(o.y-r.y)/p):1===i?(a=L.latLng(s.getSouth(),s.getWest()),r=this._map.latLngToLayerPoint(a),this.symbolTexts[t].offsetX=(o.x-r.x)/p,this.symbolTexts[t].offsetY=(o.y-r.y)/p):2===i?(a=L.latLng(s.getNorth(),s.getEast()),r=this._map.latLngToLayerPoint(a),this.symbolTexts[t].offsetX=(o.x-r.x)/p,this.symbolTexts[t].offsetY=(o.y-r.y)/p):3===i?(a=L.latLng(s.getSouth(),s.getEast()),r=this._map.latLngToLayerPoint(a),this.symbolTexts[t].offsetX=(o.x-r.x)/p,this.symbolTexts[t].offsetY=(o.y-r.y)/p):4===i?(a=L.latLng(s.getNorth(),(s.getWest()+s.getEast())/2),r=this._map.latLngToLayerPoint(a),this.symbolTexts[t].offsetX=(o.x-r.x)/p,this.symbolTexts[t].offsetY=(o.y-r.y)/p):5===i?(a=L.latLng(s.getSouth(),(s.getWest()+s.getEast())/2),r=this._map.latLngToLayerPoint(a),this.symbolTexts[t].offsetX=(o.x-r.x)/p,this.symbolTexts[t].offsetY=(o.y-r.y)/p):6===i?(a=L.latLng((s.getNorth()+s.getSouth())/2,s.getWest()),r=this._map.latLngToLayerPoint(a),this.symbolTexts[t].offsetX=(o.x-r.x)/p,this.symbolTexts[t].offsetY=(o.y-r.y)/p):7===i?(a=L.latLng((s.getNorth()+s.getSouth())/2,s.getEast()),r=this._map.latLngToLayerPoint(a),this.symbolTexts[t].offsetX=(o.x-r.x)/p,this.symbolTexts[t].offsetY=(o.y-r.y)/p):i===SuperMap.Plot.AnnoPosition.ANCHOR&&(a=l.symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL?l.latLngs[0]:s.getCenter(),r=this._map.latLngToLayerPoint(a),this.symbolTexts[t].offsetX=(o.x-r.x)/p,this.symbolTexts[t].offsetY=(o.y-r.y)/p)}},_reView:function(){this.fire(SuperMap.Plot.Event.reseteditmarkersvalues)},move:function(){},_parseSymbolData:function(){if(T.prototype._parseSymbolData.call(this),this.symbolData){this.addFrame=this.symbolData.addFrame,this.symbolTexts=[];for(var t=0,e=this.symbolData.symbolTexts.length;tthis.maxScale&&(o=this.maxScale);var l=t.latLngs[0],s=this._map.latLngToLayerPoint(l),n=new SuperMap.Pixel(s.x+this.offsetX*o,s.y+this.offsetY*o),a=this._map.layerPointToLatLng(n);0===this.latLngs.length?this.latLngs.push(a):(this.latLngs[0].lng=a.lng,this.latLngs[0].lat=a.lat);var r=L.Util.cloneLatLngs(this.latLngs[0]);r.push(l);var p={style:{surroundLineFlag:!1}};p.style=SuperMap.Util.copyAttributes(p.style,this.style),p.positionPoints=r,p.type=24,e.push(p),SuperMap.Util.isArray(this.textContent)||(this.textContent=[this.textContent]);var u=this.textContent.length,h=this.style.fontSize*u*o+u+1,g=this._map.latLngToLayerPoint(L.latLng(this.latLngs[0].lat,this.latLngs[0].lng)),c=L.point(g.x,g.y-h/2),y=L.point(g.x,g.y+h/2),P=[this._map.layerPointToLatLng(c),this._map.layerPointToLatLng(y)],S={};S.positionPoints=P,S.style={surroundLineFlag:!1},S.style=SuperMap.Util.copyAttributes(S.style,this.style),S.type=24,e.push(S);var d,m=new SuperMap.Geometry.Point(this.latLngs[0].lng,this.latLngs[0].lat);if(0!==this.textContent.length){var f=t.getBounds(),M=new SuperMap.Geometry.Point((f.getWest()+f.getEast())/2,f.getNorth()),b=new SuperMap.Geometry.Point((f.getWest()+f.getEast())/2,f.getSouth()),A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(M,b,m),T="";for(let t=0;tthis.maxScale&&(o=this.maxScale),this.offsetX=(i.x-e.x)/o,this.offsetY=(i.y-e.y)/o,this.redraw()}},_parseSymbolData:function(){T.prototype._parseSymbolData.call(this),this.symbolData&&(void 0!==this.symbolData.space&&(this.space=this.symbolData.space),void 0!==this.symbolData.offsetX&&(this.offsetX=this.symbolData.offsetX),void 0!==this.symbolData.offsetY&&(this.offsetY=this.symbolData.offsetY),void 0!==this.symbolData.scaleBeforeOffsetX&&(this.scaleBeforeOffsetX=this.symbolData.scaleBeforeOffsetX),void 0!==this.symbolData.scaleBeforeOffsetY&&(this.scaleBeforeOffsetY=this.symbolData.scaleBeforeOffsetY))},_setSymbolData:function(){T.prototype._setSymbolData.call(this),this.symbolData&&(this.symbolData.space=this.space,this.symbolData.offsetX=this.offsetX,this.symbolData.offsetY=this.offsetY,void 0!==this.scaleBeforeOffsetX&&(this.symbolData.scaleBeforeOffsetX=this.scaleBeforeOffsetX),void 0!==this.scaleBeforeOffsetY&&(this.symbolData.scaleBeforeOffsetY=this.scaleBeforeOffsetY))}});L.supermap.plotting.symbolText1=function(t,e,i,o){return new At(t,e,i,o)},L.supermap.plotting.SymbolText1=At;var Tt=L.Path.extend({name:"图元层",serverUrl:null,features:null,visibility:!0,symScaleDefinition:null,enableSymScale:null,options:{serviceParams:{proxy:null,withCredentials:!1,crossOrigin:null,headers:null,serverType:null}},getVisibility:function(){return this.visibility},setVisibility:function(t){if(this.visibility!==t){this.visibility=t;for(let t=0;tthis.features[o].maxScale&&(l=this.features[o].maxScale);var s=this.features[o].getSymbolSize().w*l,n=this.features[o].getSymbolSize().h*l;this.features[o].setSymbolSize(s,n)}}},initialize:function(t,e,i){i=i||{},L.setOptions(this,i),this.name=t,this.serverUrl=e,this.features=[],this.enableSymScale=!0},destroy:function(){this.name="",this.serverUrl=null,this.features=null},beforeAdd:function(t){L.Path.prototype.beforeAdd.call(this,t)},onAdd:function(t){L.Path.prototype.onAdd.call(this,t),this._map=t;var e=this;null==tt.prototype.map&&(tt.prototype.map=t),e instanceof Ct&&(L.supermap.plotting.getControl().getPlotMapManager().addPlottingLayer(e),e.getSymScaleDefinition()),this._map.on("zoomend",function(){var t=tt.prototype.getLayerScale();if("function"==typeof e.getMinVisibleScale&&e.getMinVisibleScale()>0&&t0&&t>e.getMaxVisibleScale())for(let t=0;t0&&(e.features[t].redraw(),e.features[t].fromZoom=e._map.getZoom());else for(let t=0;t0&&this.removeFeatures(e.geoSymbolTexts));var i=SuperMap.Util.indexOf(this.features,e);-1!==i&&this.features.splice(i,1),e.layer=null}}this._update()},getFeatures:function(){return this.features.slice()},removeAllFeatures:function(){this.removeFeatures(this.features.slice()),this.features=[]},getSymZoomScale:function(t){return null==this.getSymScaleDefinition()||!0!==this.enableSymScale?1:L.supermap.plotting.getControl().getPlotMapManager().getLayerScale(t)/this.getSymScaleDefinition()},_getSymbolDataFromCache:function(t,e){var i=L.supermap.plotting.getControl(this._map,this.serverUrl,{serviceParams:this.options.serviceParams}).getSymbolLibManager().getSymbolLibByLibId(t);return null!==i?i.getSymbolData(e):null},_cacheSymbolData:function(t){var e=L.supermap.plotting.getControl(this._map,this.serverUrl,{serviceParams:this.options.serviceParams}).getSymbolLibManager().getSymbolLibByLibId(t.libID);null!==e&&e.cacheSymbolData(t)},_setCursorStyle:function(t){void 0===t&&(t="");var e=!1;if(this._map.getPlottingLayers().length>1){var i=this._map.getPlottingLayers();for(var o in i)if(i[o]._renderer instanceof L.Canvas)i[o]._renderer._container.style.cursor=t;else if(i[o]._renderer instanceof L.SVG)for(let e=0;e0&&(this._map&&this._map.getPlotEditControl()&&!0===this.isEditable&&!1===this.isLocked&&(this._editLayer.removeFeatures(this.selectedFeatures),this.addFeatures(this.selectedFeatures)),this.fire(SuperMap.Plot.Event.movingtargetsunselected,{features:this.selectedFeatures}),this.selectedFeatures.length=0))},getEditable:function(){return this.isEditable},setEditable:function(t){this.isEditable!==t&&(this.isEditable=t,!1===this.isEditable&&!1===this.isLocked&&this.selectedFeatures.length>0&&this._map&&this._map.getPlotEditControl()&&(this._editLayer.removeFeatures(this.selectedFeatures),this.addFeatures(this.selectedFeatures)))},getLocked:function(){return this.isLocked},setLocked:function(t){this.isLocked!==t&&(this.isLocked=t,!0===this.isEditable&&!0===this.isLocked&&this.selectedFeatures.length>0&&this._map&&this._map.getPlotEditControl()&&(this._editLayer.removeFeatures(this.selectedFeatures),this.addFeatures(this.selectedFeatures)))},getVisibility:function(){return this.visibility},setVisibility:function(t){this.visibility!==t&&(this.visibility=t,this.visibility?(this._renderer._container.style.visibility="visible",this._vectorRenderer._container.style.visibility="visible"):(this._renderer._container.style.visibility="hidden",this._vectorRenderer._container.style.visibility="hidden"),this._editLayer.setVisibility(this.visibility))},getMinVisibleScale:function(){return null==this.minVisibleScale&&(this.minVisibleScale=0),this.minVisibleScale},setMinVisibleScale:function(t){this.minVisibleScale=t,this.maxVisibleScale>1e-7&&this.maxVisibleScale1e-7&&this.maxVisibleScale0){for(e=0;e1e-7&&this.markerMaxVisibleScale1e-7&&this.markerMinVisibleScale>t&&(this.markerMaxVisibleScale=this.markerMinVisibleScale)},clearMarkerVisibleScale:function(){this.markerMinVisibleScale=0,this.markerMaxVisibleScale=0},setGraphicZIndex:function(t){this.options.zIndex=t,this._renderer._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._renderer._container.style.zIndex=this.options.zIndex)},setVectorZIndex:function(t){this.options.vectorZIndex=t,this._vectorRenderer._container&&void 0!==this.options.vectorZIndex&&null!==this.options.vectorZIndex&&(this._vectorRenderer._container.style.zIndex=this.options.vectorZIndex)},initialize:function(t,e,i){this._editLayer=new vt(t+"_temportary",e,{layer:this}),i=i||{},L.Util.setOptions(this,i),this.cacheImages={},this.selectedFeatures=[],this.name=t,this.serverUrl=e,this.features=[],this._graphics=[],this._vectors=[]},getSymZoomScale:function(t){return 1},getEvents:function(){var t={click:this._handleClick,mousemove:this._onMapMouseMove,contextmenu:this._handleContextmenu};return this._map._zoomAnimated&&(t.zoomanim=this._zoomAnim),t},_zoomAnim:function(t){},_onMapMouseMove:function(t){var e=this._getGraphicsInBounds();if(0!==e.length)for(let i=0,o=e.length;i0&&t.push(e.feature),e}),this._vectors.map(function(o){return o.getBounds().isValid()&&e._intersects(i,o.getLatLngs())&&t.push(o),o}),t},_redraw:function(t){var e=[];null!=t&&SuperMap.Util.isArray(t)?e=e.concat(t):null!=t&&t instanceof xt&&e.push(t);var i=this;i._renderer._redrawBounds&&(i._renderer._redrawBounds.min._floor(),i._renderer._redrawBounds.max._ceil(),i._renderer._clear(),i._graphics.map(function(t){return null!=t._pxBounds&&t._pxBounds.intersects(i._renderer._redrawBounds)&&-1===SuperMap.Util.indexOf(e,t)&&e.push(t),t}),i._renderer._drawPlottingGraphics(e))},_update:function(){this._map&&this.getVisibility()&&this._updatePath()},_containsPoint:function(){return!1},_updatePath:function(){this._clearLayersOutBounds(),this._redrawLayersInBounds(),this._renderer._ctx.clearRect(this._renderer._bounds.min.x,this._renderer._bounds.min.y,this._renderer._ctx.canvas.width,this._renderer._ctx.canvas.height),this._renderer._drawPlottingGraphics(this._getGraphicsInBounds())},_project:function(){var t=this;t._pxBounds=L.bounds(L.point(0,0),L.point(0,0)),t._getGraphicsInBounds().map(function(e){return e._project(),null!=e._pxBounds&&(t._pxBounds.extend(e._pxBounds.min),t._pxBounds.extend(e._pxBounds.max)),e}),t._getLayersInBounds().map(function(e){return e._project(),t._pxBounds.extend(e._pxBounds.min),t._pxBounds.extend(e._pxBounds.max),e})},_updateDetectionRange:function(t){var e=this;Object.keys(e._detectionRangeCombinations).forEach(function(i){for(var o=e._detectionRangeCombinations[i],l=[],s=0;s0){for(s=0;s0&&(i.feature.layer.getMarkerMinVisibleScale()>0||i.feature.layer.getMarkerMaxVisibleScale()>0)&&(t=!0),i}),t},_getLayersInBounds:function(){var t=this,e=[],i=t._map.getBounds();return this._vectors.map(function(o){return o.getBounds().isValid()&&t._intersects(i,o.getLatLngs())&&e.push(o),o}),e},_clearLayersOutBounds:function(){var t=this,e=t._map.getBounds();this._vectors.map(function(i){return i.getBounds().isValid()&&!t._intersects(e,i.getLatLngs())&&i._clearComponents(),i})},_redrawLayersInBounds:function(){var t=this,e=t._map.getBounds();this._vectors.map(function(i){return!i.getBounds().isValid()&&t._intersects(e,i.getLatLngs())&&i.redraw(),i})},_intersects:function(t,e){for(let i=0;i0&&(!0===e.isEditable&&!1===e.isLocked&&e._map&&e._map.getPlotEditControl()&&(e._editLayer.removeFeatures(e.selectedFeatures),e.addFeatures(e.selectedFeatures)),e._map.getPlotEditControl().disableEditFeatures(e.selectedFeatures),e.selectedFeatures.length=0);var o=e.getFeaturesInBounds();for(let n=0,a=o.length;n0)for(var l in o[n].components)if(o[n].components[l]._containsPoint(e._map.latLngToLayerPoint(t.latlng))){a=!0;break}if(a){if(!0===t.originalEvent.altKey&&!0!==t.originalEvent.ctrlKey&&-1!==SuperMap.Util.indexOf(i,o[n]))continue;e._map.getPlotEditControl().unselectFeatures();var s=[];if(!0===L.supermap.plotting.getControl().getTouchMode()&&e._map&&e._map.getPlotEditControl()&&!0===e._map.getPlotEditControl()._isMultiSelect&&(s=s.concat(i.slice())),s.push(o[n]),!0===e.isEditable&&!1===e.isLocked&&e._map&&e._map.getPlotEditControl()&&(e.removeFeatures(s),e._editLayer.addFeatures(s)),e._map.getPlotEditControl().enableEditFeatures(s),e._map.getPlotEditControl().selectFeatures(s),e.selectedFeatures=e.selectedFeatures.concat(s),e._map&&e._map.getPlotEditControl()&&(e._map.getPlotEditControl()._onTriggerMapClick=!1),!0!==t.originalEvent.ctrlKey)break}}i.length>0&&(this.fire(SuperMap.Plot.Event.movingtargetsunselected,{features:i}),i.length=0),this.selectedFeatures.length>0&&this.fire(SuperMap.Plot.Event.movingtargetsselected,{features:e.selectedFeatures}),L.DomEvent.stopPropagation(t)}},_handleContextmenu:function(t){if(!1!==this.isSelected&&!1!==this.visibility){var e=this.getFeaturesInBounds();for(let o=0,l=e.length;o0)for(var i in e[o].components)if(e[o].components[i]._containsPoint(this._map.latLngToLayerPoint(t.latlng))){l=!0;break}if(l){this.fire(SuperMap.Plot.Event.movingtargetcontextmenu,{features:[e[o]]});break}}L.DomEvent.stopPropagation(t)}},_getSymbolDataFromCache:function(t,e){var i=L.supermap.plotting.getControl(this._map,this.serverUrl,{serviceParams:this.options.serviceParams}).getSymbolLibManager().getSymbolLibByLibId(t);return null!==i?i.getSymbolData(e):null},_cacheSymbolData:function(t){var e=L.supermap.plotting.getControl(this._map,this.serverUrl,{serviceParams:this.options.serviceParams}).getSymbolLibManager().getSymbolLibByLibId(t.libID);null!==e&&e.cacheSymbolData(t)},_generateFromFeature:function(t){var e="";if(t.symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL){if(e=t.libID.toString()+"_"+t.code.toString()+"_"+Math.round(t.symbolSize.w).toString()+"_"+Math.round(t.symbolSize.h).toString()+"_"+t.textContent+"_"+t.annotationPosition.toString()+"_"+t.dRotate.toString()+this._styleToString(t.style)+"_"+t.textDisplay.toString()+"_"+t.surroundLineType.toString(),null!=t.symbolTexts&&t.symbolTexts.length>0)for(let i=0;i0)for(let i=0;i0)for(let i=0;i=this.feature.layer.getMarkerMinVisibleScale()||0===this.feature.layer.getMarkerMinVisibleScale())||"function"!=typeof this.feature.layer.getMarkerMinVisibleScale&&"function"==typeof this.feature.layer.getMarkerMaxVisibleScale&&(0===this.feature.layer.getMarkerMaxVisibleScale()||o<=this.feature.layer.getMarkerMaxVisibleScale())||"function"==typeof this.feature.layer.getMarkerMinVisibleScale&&"function"==typeof this.feature.layer.getMarkerMaxVisibleScale&&0===this.feature.layer.getMarkerMaxVisibleScale()&&o>=this.feature.layer.getMarkerMinVisibleScale()||"function"==typeof this.feature.layer.getMarkerMinVisibleScale&&"function"==typeof this.feature.layer.getMarkerMaxVisibleScale&&0===this.feature.layer.getMarkerMinVisibleScale()&&o<=this.feature.layer.getMarkerMaxVisibleScale()||"function"==typeof this.feature.layer.getMarkerMinVisibleScale&&"function"==typeof this.feature.layer.getMarkerMaxVisibleScale&&(0===this.feature.layer.getMarkerMinVisibleScale()&&0===this.feature.layer.getMarkerMaxVisibleScale()||o>=this.feature.layer.getMarkerMinVisibleScale()&&o<=this.feature.layer.getMarkerMaxVisibleScale()))&&this._updateSymbolTexts()}else this._updateSymbolTexts();this._updateJoinLines(),null==this._lastPos?this._lastPos=L.latLng(this._latlng.lat,this._latlng.lng):(this._lastPos.lat=this._latlng.lat,this._lastPos.lng=this._latlng.lng),null==this._lastImage&&null!=this._image?this._lastImage=[this._image.size[0],this._image.size[1]]:null!=this._image&&(this._lastImage[0]=this._image.size[0],this._lastImage[1]=this._image.size[1])}}},getAssociatedGraphics:function(){for(var t=[],e=0;e=2){let t=new SuperMap.Geometry.Point(this.feature.trajectory.latlngs[this.feature.trajectory.latlngs.length-2].lng,this.feature.trajectory.latlngs[this.feature.trajectory.latlngs.length-2].lat),e=new SuperMap.Geometry.Point(this.feature.trajectory.latlngs[this.feature.trajectory.latlngs.length-1].lng,this.feature.trajectory.latlngs[this.feature.trajectory.latlngs.length-1].lat),i=SuperMap.Plot.PlottingUtil.radian(t,e)*SuperMap.Plot.PlottingUtil.RTOD;this._rotation=i-90}let n=this.feature.trajectory.getDisplayLatLngs(this._map.getBounds());if(!0===this.feature.trajectory.showTrackingLine?n.length<=1&&null!=this._trajectoryLine?(this.layer._removeTrajectory(this._trajectoryLine),delete this._trajectoryLine,this._trajectoryLine=null):n.length>1&&null===this._trajectoryLine?(this._trajectoryLine=L.polyline(n,{color:this.feature.trajectory.style.color,weight:this.feature.trajectory.style.weight,opacity:this.feature.trajectory.style.opacity}),this.layer._addTrajectory(this._trajectoryLine)):n.length>1&&null!==this._trajectoryLine&&(this._trajectoryLine.options.color===this.feature.trajectory.style.color&&this._trajectoryLine.options.weight===this.feature.trajectory.style.weight&&this._trajectoryLine.options.opacity===this.feature.trajectory.style.opacity||this._trajectoryLine.setStyle({color:this.feature.trajectory.style.color,weight:this.feature.trajectory.style.weight,opacity:this.feature.trajectory.style.opacity}),this._trajectoryLine.setLatLngs(n)):null!=this._trajectoryLine&&(this.layer._removeTrajectory(this._trajectoryLine),this._trajectoryLine=null),!0===this.feature.trajectory.showTrackingPoint){if(0===n.length&&this._trajectoryPoints.length>0){for(let t=0;t0){var e=this.feature.trajectory.generateUuidKey();let t=[];if(Object.prototype.hasOwnProperty.call(this._trajectoryPointGraphic,e))for(let e=0;e0||null!=this.feature.detectionRange.pixelRadius&&this.feature.detectionRange.pixelRadius>0||null!=this.feature.detectionRange.points&&this.feature.detectionRange.points.length>0){if(this._detectionRangePoints=[],null!=this.feature.detectionRange.radius&&this.feature.detectionRange.radius>0)for(var o=0;o<=360;o+=5){let t=SuperMap.Plot.PlottingUtil.destinationVincenty(L.latLng(this._latlng.lat,this._latlng.lng),360-o+90,1e3*this.feature.detectionRange.radius);this._detectionRangePoints.push(t)}else if(null!=this.feature.detectionRange.pixelRadius&&this.feature.detectionRange.pixelRadius>0){var l=new SuperMap.Geometry.Point(this._latlng.lng,this._latlng.lat),s=[];let t=5;for(let e=0;e<72;e++){let i=(e*t+1)*Math.PI/180,o=new SuperMap.Geometry.Point(Math.cos(i)*this.feature.detectionRange.pixelRadius+l.x,Math.sin(i)*this.feature.detectionRange.pixelRadius+l.y);s.push(o)}this._detectionRangePoints=detectionLatlngs.concat(L.Util.superMapPointsToLatLngs(s))}else null!=this.feature.detectionRange.points&&this.feature.detectionRange.points.length>0&&(this._detectionRangePoints=detectionLatlngs.concat(L.Util.superMapPointsToLatLngs(this.feature.detectionRange.points)));null==this.feature.composeDetectionRange?null==this._detectionRange?(this._detectionRange=L.polygon(this._detectionRangePoints,{color:this.feature.detectionRange.style.color,weight:this.feature.detectionRange.style.weight,opacity:this.feature.detectionRange.style.opacity,fill:this.feature.detectionRange.style.fill,fillColor:this.feature.detectionRange.style.fillColor,fillOpacity:this.feature.detectionRange.style.fillOpacity,smoothFactor:0}),this.layer._addDetectionRange(this._detectionRange)):(this._detectionRange.options.color===this.feature.detectionRange.style.color&&this._detectionRange.options.weight===this.feature.detectionRange.style.weight&&this._detectionRange.options.opacity===this.feature.detectionRange.style.opacity&&this._detectionRange.options.fill===this.feature.detectionRange.style.fill&&this._detectionRange.options.fillColor===this.feature.detectionRange.style.fillColor&&this._detectionRange.options.fillOpacity===this.feature.detectionRange.style.fillOpacity||this._detectionRange.setStyle({color:this.feature.detectionRange.style.color,weight:this.feature.detectionRange.style.weight,opacity:this.feature.detectionRange.style.opacity,fill:this.feature.detectionRange.style.fill,fillColor:this.feature.detectionRange.style.fillColor,fillOpacity:this.feature.detectionRange.style.fillOpacity}),this._detectionRange.setLatLngs(this._detectionRangePoints)):null!=this._detectionRange&&(this.layer._removeDetectionRange(this._detectionRange),delete this._detectionRange,this._detectionRange=null)}}else null!=this._detectionRange&&(this.layer._removeDetectionRange(this._detectionRange),delete this._detectionRange,this._detectionRange=null)}},setImage:function(t){this._image=t},setUuid:function(t){this._uuid=t},getLatLng:function(){return this._latlng},getImage:function(){return this._image},getUuid:function(){return this._uuid},_cloneImage:function(t){if(this.layer.cacheImages[t]){this.layer.cacheImages[t].imgCount++,null==this._image&&(this._image=new Et(this.feature)),this._image._ctx.clearRect(0,0,this._image._ctx.width,this._image._ctx.height),this._image.anchor=L.point(this.layer.cacheImages[t].img.anchor.x,this.layer.cacheImages[t].img.anchor.y),this._image.size=[this.layer.cacheImages[t].img.size[0],this.layer.cacheImages[t].img.size[1]],this._image.redrawSize=[this.layer.cacheImages[t].img.redrawSize[0],this.layer.cacheImages[t].img.redrawSize[1]],this._image.redrawAnchor=L.point(this.layer.cacheImages[t].img.redrawAnchor.x,this.layer.cacheImages[t].img.redrawAnchor.y),this._image.bounds=L.latLngBounds(this.layer.cacheImages[t].img.bounds.getSouthEast(),this.layer.cacheImages[t].img.bounds.getNorthWest()),this._image.latLng=L.latLng(this.layer.cacheImages[t].img.latLng.lat,this.layer.cacheImages[t].img.latLng.lng),this._image.fromZoom=this.layer.cacheImages[t].img.fromZoom,null!=this._image.componentLatLngs&&this._image.componentLatLngs.length>0&&(this._image.componentLatLngs.length=0),this._image.componentLatLngs=[];for(var e=0;e0&&(this._image.images.length=0),this._image.images=[];for(let e=0;e0&&(this._image.pictureFrames.length=0),this._image.pictureFrames=[];for(let e=0;eo&&(s=l),s+=10;var n=L.point(i.x-s/2,i.y+s/2),a=L.point(i.x-s/2,i.y-s/2),r=L.point(i.x+s/2,i.y-s/2),p=L.point(i.x+s/2,i.y+s/2),u=this._map.layerPointToLatLng(n),h=this._map.layerPointToLatLng(a),g=this._map.layerPointToLatLng(r),c=this._map.layerPointToLatLng(p);t.handlePoints=[u.clone(),h.clone(),g.clone(),c.clone()];for(var y=1,P=0;P0&&setTimeout(function(){for(let t=0;t=t.feature.layer.getMarkerMinVisibleScale()||0===t.feature.layer.getMarkerMinVisibleScale())||"function"!=typeof t.feature.layer.getMarkerMinVisibleScale&&"function"==typeof t.feature.layer.getMarkerMaxVisibleScale&&(0===t.feature.layer.getMarkerMaxVisibleScale()||h<=t.feature.layer.getMarkerMaxVisibleScale())||"function"==typeof t.feature.layer.getMarkerMinVisibleScale&&"function"==typeof t.feature.layer.getMarkerMaxVisibleScale&&0===t.feature.layer.getMarkerMaxVisibleScale()&&h>=t.feature.layer.getMarkerMinVisibleScale()||"function"==typeof t.feature.layer.getMarkerMinVisibleScale&&"function"==typeof t.feature.layer.getMarkerMaxVisibleScale&&0===t.feature.layer.getMarkerMinVisibleScale()&&h<=t.feature.layer.getMarkerMaxVisibleScale()||"function"==typeof t.feature.layer.getMarkerMinVisibleScale&&"function"==typeof t.feature.layer.getMarkerMaxVisibleScale&&(0===t.feature.layer.getMarkerMinVisibleScale()&&0===t.feature.layer.getMarkerMaxVisibleScale()||h>=t.feature.layer.getMarkerMinVisibleScale()&&h<=t.feature.layer.getMarkerMaxVisibleScale())))for(let o=0;o400&&(t.options.fontPercent=400),void 0===t.options.fontSpace&&(t.options.fontSpace=0),t.options.fontSpace>30||t.options.fontSpace<0&&(t.options.fontSpace=0);var e=t._latlng,i=this._map.latLngToLayerPoint(e);if(void 0!=i){if(t.options.labelXOffset||t.options.labelYOffset){var o=isNaN(t.options.labelXOffset)?0:t.options.labelXOffset,l=isNaN(t.options.labelYOffset)?0:t.options.labelYOffset;i.x+=o,i.y-=l}if(!0===t.options.fontBackground){this._ctx.font=[t.options.fontStyle?t.options.fontStyle:"normal","normal",t.options.fontWeight?t.options.fontWeight:"normal",t.options.fontSize?t.options.fontSize+"px":"1em",t.options.fontFamily?t.options.fontFamily:"sans-serif"].join(" ");var s=t.options.labelRotation;t.options.labelRotation=0;var n=t.getPxBounds();t.options.labelRotation=s;var a=n.min.x,r=n.min.y,p=n.max.x-n.min.x,u=n.max.y-n.min.y;this._ctx.fillStyle=t.options.fontBackgroundColor,this._ctx.globalAlpha=1,this._ctx.save(),this._ctx.translate(a,r),0!=t.options.labelRotation&&this._ctx.rotate(t.options.labelRotation*Math.PI/180),this._ctx.fillRect(0,0,p,u),this._ctx.restore()}if(!0===t.options.fontShadow){var h=L.point(i.x,i.y);if(t.options.fontShadowOffsetX&&(h.x+=t.options.fontShadowOffsetX),t.options.fontShadowOffsetY&&(h.y+=t.options.fontShadowOffsetY),0!==t.options.labelRotation){var g=i.x,c=i.y,y=t.options.labelRotation*Math.PI/180,P=Math.sqrt(Math.pow(h.x-g,2)+Math.pow(h.y-c,2)),S=y+Math.atan2(h.y-c,h.x-g);h.x=g+P*Math.cos(S),h.y=c+P*Math.sin(S)}var d=t.options.fontStroke;t.options.fontStroke=!1;var m=t.options.fontColor;t.options.fontColor=t.options.fontShadowColor,this._updateTextPt(h,t),t.options.fontColor=m,t.options.fontStroke=d}if(Object.prototype.hasOwnProperty.call(t,"_eventParents"))for(var f in t._eventParents)Object.prototype.hasOwnProperty.call(t._eventParents[f],"ownerGroup")&&null!==t._eventParents[f].ownerGroup&&(t._eventParents[f].ownerGroup.symbolType!==SuperMap.Plot.SymbolType.NAVYDEPLOYMENT&&t._eventParents[f].ownerGroup.symbolType!==SuperMap.Plot.SymbolType.AIRDEPLOYMENT||t._updateBounds());this._updateTextPt(i,t)}}},_updateImage:function(t){var e=this,i=function(){var t=this.style,i=t.graphicWidth||t.graphicHeight,o=t.graphicHeight||t.graphicWidth;i=i||2*t.pointRadius,o=o||2*t.pointRadius;var l=-.5*i+t.graphicXOffset,s=-.5*o+t.graphicYOffset,n=t.graphicOpacity||t.fillOpacity,a=this.point,r=a.x,p=a.y;if(!isNaN(r)&&!isNaN(p)){var u;e._ctx.save(),t.rotation&&(u=t.rotation/180*Math.PI),e._ctx.translate(r,p),u&&e._ctx.rotate(u),e._ctx.translate(l,s),e._ctx.globalAlpha=n;var h=L.Canvas.drawImageScaleFactor||(L.Canvas.drawImageScaleFactor=/android 2.1/.test(navigator.userAgent.toLowerCase())?320/window.screen.width:1);e._ctx.drawImage(this.img,0,0,i*h,o*h),e._ctx.restore()}},o=new Image;"firefox"==SuperMap.Browser.name?(o.onload=function(){i.call({point:t._point,style:t.options,img:o}),o.onload=null},t.options.graphicTitle&&(o.title=t.options.graphicTitle),o.src=t.options.externalGraphic):(t.options.graphicTitle&&(o.title=t.options.graphicTitle),o.src=t.options.externalGraphic,o.onload=function(){i.call({point:t._point,style:t.options,img:o}),o.onload=null}),window.ActiveXObject||"ActiveXObject"in window?o.onload():o.complete&&o.onload()},_updateArc:function(t){if(this._drawing&&!t._empty()){var e=t._point,i=this._ctx,o=t._radius,l=(t._radiusY||o)/o,s=(360-t.options.endAngle)*(Math.PI/180),n=(360-t.options.startAngle)*(Math.PI/180);this._drawnLayers[t._leaflet_id]=t,1!==l&&(i.save(),i.scale(1,l)),i.beginPath(),i.arc(e.x,e.y/l,o,s,n,!1),1!==l&&i.restore(),this._fillStroke(i,t)}},_afterTo:function(t,e){var i=t._order;if(i){var o=i.next,l=i.prev;if(l)l.next=o;else if(o)return;o?o.prev=l:l&&(this._drawLast=l);var s=e._order,n=s.next;s.next=i,i.prev=s,n?(n.prev=i,i.next=n):(i.next=null,this._drawLast=i),this._requestRedraw(t)}},_beforePath:function(t,e){this._updateDashArray(t),this._layers[L.Util.stamp(t)]=t;var i=e._order,o=i.prev,l=t._order={layer:t,prev:o,next:i};null==l.prev?this._drawFirst=l:o.next=l,i.prev=l},_onClick:function(t){var e,i=this._map.mouseEventToLayerPoint(t),o=[],l=[],s=0;for(let t in this._map._layers)if(this._map._layers[t]._drawFirst)for(var n=this._map._layers[t]._drawFirst;n;n=n.next)if(n.layer.options.interactive&&n.layer._containsPoint(i)&&!this._map._draggableMoved(n.layer)&&(e=n.layer,Object.prototype.hasOwnProperty.call(e,"_eventParents")&&null!==e._eventParents))for(var a in e._eventParents)l.push(e),o.push(e._eventParents[a]);if(e&&l.length>1&&o.length>0){var r=!1,p=[],u=[];for(let t=0,e=o.length;t1){this._fireEvent([u[e]],t);break}if(!r){this._fireEvent([u[u.length-1]],t);break}}}this._fireEvent(!!e&&[e],t)}}),L.Polyline.prototype._containsPoint=function(t,e){var i,o,l,s,n,a,r=this._clickTolerance()+10;if(this._pxBounds&&!this._pxBounds.contains(t))return!1;for(i=0,s=this._parts.length;it.y!=o.y>t.y&&t.x<(o.x-i.x)*(t.y-i.y)/(o.y-i.y)+i.x&&(p=!p);return p||L.Polyline.prototype._containsPoint.call(this,t,!0)},L.supermap.plotting.Text.prototype._containsPoint=function(t){return this._pxBounds.contains(t)},L.supermap.plotting.PointImage.prototype._containsPoint=function(t){return this._pxBounds.contains(t)},L.Canvas.LABEL_ALIGN={l:"left",r:"right",t:"hanging",b:"alphabetic"},L.Canvas.LABEL_FACTOR={l:0,r:-1,t:0,b:-1},L.Canvas.drawImageScaleFactor=null;var wt=L.Control.extend({_mouseTolerance:10,_editMarkers:null,_editMode:SuperMap.Plot.EditMode.EDITCIRCUMRECTANGLE,feature:null,_temportary:null,options:{avoidRegionStyle:{fill:!1,color:"#0000ff",dashArray:"2, 2",opacity:1,weight:1},draggable:!0,avoidIcon:L.divIcon({className:"leaflet-supermap-plot-avoid-icon-path",iconSize:[8,8]}),icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"})},initialize:function(t,e){if(L.version<"0.7")throw new Error("Leaflet.draw 0.2.3+ requires Leaflet 0.7.0+. Download latest from https://github.com/Leaflet/Leaflet/");L.Browser.touch&&L.supermap.plotting.getControl().getTouchMode()&&(this.options.avoidIcon=L.divIcon({className:"leaflet-supermap-plot-avoid-icon-path",iconSize:[15,15]}),this.options.icon=new L.DivIcon({iconSize:new L.Point(15,15),className:"leaflet-div-icon leaflet-editing-icon"})),L.Control.prototype.initialize.call(this,e),L.setOptions(this,e),this._temportary=new Tt("avoidRegionControl-temportary",t.serverUrl,{serviceParams:t.serviceParams}),this._editMarkers={},this.feature=t},onAdd:function(t){if(this.feature&&!this.feature.getLocked())return this.controlDiv=L.DomUtil.create("div","supermap-iclient-avoidregion"),this._map=t,this._markers=[],this._latlngs=[],this._markerGroup=new L.LayerGroup,this._map.addLayer(this._markerGroup),this._map.addLayer(this._temportary),this._map.on("mousemove",this._onMouseMove,this).on("click",this._onMapClick,this),this._showAvoidRegions(),this.controlDiv},onRemove:function(){this._hideAvoidRegions(),this._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers,delete this._latlngs,this.plotting&&(this._temportary.removeFeatures(this.plotting),delete this.plotting,this.plotting=null),this._map.removeLayer(this._temportary),delete this._temportary,this._map.off("mousemove",this._onMouseMove,this).off("click",this._onMapClick,this)},_showAvoidRegions:function(){for(var t=0;t1&&this._markers[i-1].on("click",this._finishShape,this),i>2&&this._markers[i-2].off("click",this._finishShape,this)},_finishShape:function(){this._markers.length>1&&this._markers[this._markers.length-1].off("click",this._finishShape,this),L.Browser.touch&&L.supermap.plotting.getControl().getTouchMode()&&this._latlngs.length+10&&L.supermap.plotting.getControl().getPlotMapManager().fire("featuresremoved",{features:e,parent:this,layername:this.name})},removeAllFeatures:function(){this.removeFeatures(this.features.slice()),this.features=[]},getFeatures:function(){return this.features.slice()}}));L.supermap.plotting.childPlotLayer=function(t,e){return new It(t,e)};var Ct=Tt.extend({caption:"图元层",tolerancePixel:5,isLocked:!1,isEditable:!0,isSelected:!0,childPlotLayers:null,minVisibleScale:0,maxVisibleScale:0,addChildPlotLayer:function(t){let e=!0;for(;e;){e=!1;for(let i=0;i1e-7&&this.maxVisibleScale1e-7&&this.maxVisibleScale=0&&l0&&this.getChildPlotLayers()[0].addFeatures(t),this.fire(SuperMap.Plot.Event.beforefeaturesadded,{features:t}),Tt.prototype.addFeatures.call(this,t),this.fire(SuperMap.Plot.Event.featuresadded,{features:t,layername:this.name}),this._map.getPlotEditControl()&&this.isSelected&&this._map.getPlotEditControl().enableEditFeatures(t)}},removeFeatures:function(t){SuperMap.Util.isArray(t)||(t=[t]);for(let e=0;e1){var l=new m(0,SuperMap.Plot.SymbolType.GROUPOBJECT,[],{subObjects:i,uuid:e});return this.addFeatures(l),l}return null},unGroupObject:function(t){var e=[];return t.symbolType===SuperMap.Plot.SymbolType.GROUPOBJECT||t.symbolType===SuperMap.Plot.SymbolType.FLAGGROUP?(e=t._unGroupObject(),t.destroy()):e.push(t),e},createLineRelation:function(t,e,i,o,l,s,n){s||(s={}),s.startAssociatedUuid=t,s.endAssociatedUuid=e,s.lineRelationType=i,s.uuid=o,s.custom=n;var a=L.supermap.plotting.PlottingObject.createSymbol(0,SuperMap.Plot.SymbolType.LINERELATION,null,s,l,n);return this.addFeatures(a),a},createInterferenceBeam:function(t,e,i,o,l,s){l||(l={}),l.associatedUuid=t,l.uuid=i,l.custom=s;var n=L.supermap.plotting.PlottingObject.createSymbol(0,SuperMap.Plot.SymbolType.INTERFERENCEBEAM,e,l,o,s);return this.addFeatures(n),n},createSatellite:function(t,e,i,o,l,s,n,a,r){var p=this._getSymbolDataFromCache(t,e);if(null===p){var u=new SuperMap.GetSymbolInfoParameters({libID:t,code:e});L.supermap.symbolInfoService(this.serverUrl,this.options.serviceParams).getSymbolInfo(u,function(p){this._cacheSymbolData(p.result),n||(n={}),n.serverUrl=this.serverUrl,n.serviceParams=this.options.serviceParams,n.orbitPoints=i,n.textContent=o,n.uuid=l,n.custom=r,n.subSymbols=[{libID:t,code:e,symbolData:SuperMap.Plot.PlottingUtil.cloneObject(p.result),textContent:o}];var u=L.supermap.plotting.PlottingObject.createSymbol(0,SuperMap.Plot.SymbolType.SATELLITE,[],n,s,r);this.addFeatures(u),"function"==typeof a&&a({feature:u})},this)}else{n||(n={}),n.serverUrl=this.serverUrl,n.serviceParams=this.options.serviceParams,n.orbitPoints=i,n.textContent=o,n.uuid=l,n.custom=r,n.subSymbols=[{libID:t,code:e,symbolData:p,textContent:o}];var h=L.supermap.plotting.PlottingObject.createSymbol(0,SuperMap.Plot.SymbolType.SATELLITE,[],n,s,r);this.addFeatures(h),"function"==typeof a&&a({feature:h})}},createSatelliteTimeWindows:function(t,e,i,o,l,s){l||(l={}),l.associatedUuid=t,l.timeWindows=e,l.custom=s,l.uuid=i;var n=L.supermap.plotting.PlottingObject.createSymbol(0,SuperMap.Plot.SymbolType.SATELLITETIMEWINDOWS,[],l,o,s);return this.addFeatures(n),n},createSatelliteTimeWindows1:function(t,e,i,o,l,s){l||(l={}),l.associatedUuid=t;for(var n=0;n=2800&&t[l].code<=2900&&o.push(t[l]);var s=null;return o.length>1&&(s=new at(0,SuperMap.Plot.SymbolType.FLAGGROUP,[],{subObjects:o,ratio:e,uuid:i}),this.addFeatures(s)),s},createArcRegion:function(t,e,i,o,l,s,n,a,r,p,u){r||(r={}),r.centerPoint=t,r.radius=e,r.startAngle=i,r.endAngle=o,r.textContent=l,r.textPosition=s,r.uuid=n,r.custom=u;var h=L.supermap.plotting.PlottingObject.createSymbol(0,SuperMap.Plot.SymbolType.ARCREGION,[],r,a,u);return this.addFeatures(h),h},geoJsonToFeature:function(t,e){this.geoJsonToFeature1(t,null,e)},geoJsonToFeature1:function(t,e,i){var o=JSON.parse(t),l=parseInt(o.libID),s=parseInt(o.code);if(o.isEdit=!0,!this._map.getFeatureByUuid(o.id))if(SuperMap.Plot.AlgoSymbolFactory.isAccessServer(l,s)){let t={};t.symbolRank=parseInt(o.symbolRank),t.surroundLineType=parseInt(o.surroundLineType);var n=!1;0===t.surroundLineType&&0===t.symbolRank||(n=!0);var a=this._getSymbolDataFromCache(l,s);if(n||null===a){let p=new SuperMap.GetSymbolInfoParameters({libID:l,code:s,symbolRank:t.symbolRank,surroundLineType:t.surroundLineType,inputPoints:o.localePoints,subSymbols:o.subSymbols});var r=this._map;L.supermap.symbolInfoService(this.serverUrl,this.options.serviceParams).getSymbolInfo(p,function(t){if(!t.result.libID||!t.result.code)return;t.result.symbolType!==SuperMap.Plot.SymbolType.DOTSYMBOL||n||this._cacheSymbolData(t.result),a=SuperMap.Util.cloneObject(t.result),SuperMap.Plot.AnalysisSymbol.mergeSymbolDataAndServerData(o,a);let p={symbolData:o,serverUrl:this.serverUrl,serviceParams:this.options.serviceParams,isGeoJSONData:!0},u=L.supermap.plotting.PlottingObject.createSymbol(l,s,null,p);if(this.addFeatures(u,e),null!=o.lineRelations)for(let t=0;t0&&(o.subSymbols[u].symbolData=this._getSymbolDataFromCache(o.subSymbols[u].libID,o.subSymbols[u].code),null===o.subSymbols[u].symbolData&&-1===SuperMap.Util.indexOf(p,o.subSymbols[u])&&p.push(o.subSymbols[u]))}for(var c=p.slice(),y=0;y=0&&null===(e=this._selectFeature(this.features[a],t.latlng,n));a--);return e},_isAvoidRegion:function(...t){if(0!==t.length){let o=null,l=!1;if(0===t[0].avoidRegions.length)return t[0];if(o=new wt(t[0]),this._map.addControl(o),l=!0){for(var e=0,i=t[0].avoidRegions.length;e=l.getWest()&&e.lng<=l.getEast()&&e.lat>=l.getSouth()&&e.lat<=l.getNorth())return t}else{var s=this._map.latLngToLayerPoint(e);for(let e=0,i=t.components.length;e0&&t.screenY>0&&this._map.getContainer().focus()}});L.Map.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=L.DomUtil.create("div",e+"control-container",this._container);function o(o,l){var s=e+o+" "+e+l;t[o+l]=L.DomUtil.create("div",s,i)}o("top","left"),o("top","right"),o("bottom","left"),o("bottom","right")},_clearControlPos:function(){L.DomUtil.remove(this._controlContainer)}});var Nt=Ut.extend({_mouseTolerance:10,_polyline:null,_currentpolyline:null,_editMarkers:null,wayAnimation:null,wayPath:[],_able:null,options:{wayAnimationStyle:{fill:!1,color:"#ff0000",dashArray:"2, 2",opacity:1,weight:1},draggable:!0,avoidIcon:L.divIcon({className:"leaflet-supermap-plot-avoid-icon-path",iconSize:[8,8]}),icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"})},initialize:function(t){if(L.version<"0.7")throw new Error("Leaflet.draw 0.2.3+ requires Leaflet 0.7.0+. Download latest from https://github.com/Leaflet/Leaflet/");L.Browser.touch&&L.supermap.plotting.getControl().getTouchMode()&&(this.options.avoidIcon=L.divIcon({className:"leaflet-supermap-plot-avoid-icon-path",iconSize:[15,15]}),this.options.icon=new L.DivIcon({iconSize:new L.Point(15,15),className:"leaflet-div-icon leaflet-editing-icon"})),L.Control.prototype.initialize.call(this,t),L.setOptions(this,t),this._editMarkers={},this._polyline=null,this._lineType=null},onAdd:function(t){return this.controlDiv=L.DomUtil.create("div","supermap-iclient-wayanmation"),this._map=t,this._markers=[],this._latlngs=[],this._markerGroup=new L.LayerGroup,this._map.addLayer(this._markerGroup),this._map.on("mousemove",this._onMouseMove,this).on("click",this._onMapClick,this),this.controlDiv},onRemove:function(){this._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers,delete this._latlngs,this._polyline&&(delete this._polyline,this._polyline=null),this._map.off("mousemove",this._onMouseMove,this).off("click",this._onMapClick,this)},setWayAnimation(t){this.wayAnimation=t,this._lineType=this.wayAnimation.getGOAnimationType();try{if(this._lineType!=SuperMap.Plot.GOAnimationType.ANIMATION_BROKENLINE_EXP&&this._lineType!=SuperMap.Plot.GOAnimationType.ANIMATION_CURVE_EXP)throw new Error("The type of animation is error!");null!=this.wayAnimation.path&&(this._currentpolyline=this.wayAnimation.path)}catch(t){console.log(t.message)}},setSelected(){if(null==this._currentpolyline)return!1;let t=this._currentpolyline._leaflet_id,e=this._map.getLayer(t);this._collectEditMarkers(e)},unSelected(){if(null==this._currentpolyline)return!1;let t=this._currentpolyline._leaflet_id,e=this._map.getLayer(t);this._removeMarkers(e)},setVisiable(t){let e=null;if(e=t?1:0,null!=this._currentpolyline){let t=this._map.getLayer(this._currentpolyline._leaflet_id).options.weight,i=this._map.getLayer(this._currentpolyline._leaflet_id).options.color;this._map.getLayer(this._currentpolyline._leaflet_id).setStyle({color:i,weight:t,opacity:e})}},getVisibale(){if(null!=this._currentpolyline){let t=this._currentpolyline.options.opacity;if(1==t)return!0;if(0==t)return!1}},enable:function(){this._able=!0},disable:function(){this._able=!1},_onMouseOut:function(t){t.target.layer._renderer._container.style.cursor=""},_onMapClick:function(t){if(this._able){if(this.moveend)return void(this.moveend=!1);var e=this._map.mouseEventToLayerPoint(t.originalEvent),i=this._map.layerPointToLatLng(e);this._polyline?this._addVertex(i):(this._polyline=L.polyline([],{color:"red",weight:1}),this._polyline.options.color="red",this._polyline.redraw(),this._polyline.type="polyline",this._polyline.addLatLng(i),this._polyline.addTo(this._map),this._addVertex(i)),L.DomEvent.preventDefault(t.originalEvent)}},_collectEditMarkers:function(t){var e=[];for(var i in t._featureControlPoints){var o=new L.LatLng(t._featureControlPoints[i].lat,t._featureControlPoints[i].lng),l=L.supermap.plotting.editMarker(o,{icon:this.options.avoidIcon,nHandle:-1,tag:i});this._addToMapAndBindMarker(l),e.push(l),l.owner=t}this._editMarkers[t._leaflet_id]=e},_removeMarkers:function(t){var e=this._editMarkers[t._leaflet_id];for(var i in e)this._unbindMarkerEvents(e[i]),this._map.removeLayer(e[i]);delete this._editMarkers[t._leaflet_id]},_unbindMarkerEvents:function(t){t.off("mousemove",this._moveMove,this),t.off("mouseout",this._moveOut,this),t.off("drag",this.redraw,this),t.dragging.disable()},_addToMapAndBindMarker:function(t){t.addTo(this._map),t.on("mousemove",this._moveMove,this),t.on("mouseout",this._moveOut,this),t.on("drag",this._dragPoint,this),t.dragging.enable()},_removePoint:function(t){if(t.target.owner.isSelected){var e=this._editMarkers[t.target.owner._leaflet_id],i=e.indexOf(t.target);this._map.removeLayer(e[i]),e.splice(i,1),t.target.owner.latLngs.splice(i,1),t.target.owner.redraw()}},_dragPoint:function(t){var e=t.target.owner,i=this._editMarkers[e._leaflet_id],o=SuperMap.Util.indexOf(i,t.target);e._featureControlPoints[o]=t.latlng,this._changeAnimationPath(e),this.fire(SuperMap.Plot.Event.wayfeaturemodifyfinished,{result:e._featureControlPoints,animation:this.wayAnimation}),this.moveend=!0},_changeAnimationPath(t){let e=t._featureControlPoints,i=t._leaflet_id;if(this._lineType==SuperMap.Plot.GOAnimationType.ANIMATION_BROKENLINE_EXP)this._map.getLayer(i).setLatLngs(e),this._map.getLayer(i)._featureControlPoints=e,this.wayAnimation.setPath(this._map.getLayer(i)),this.wayAnimation.setWayPoints(e);else{let t=this._latLng2AlgoPlot(e);t=SuperMapAlgoPlot.PlottingUtil.generateBeizerPointsNoCtrlPt(t),t=this._algoPlot2LatLng(t),this._map.getLayer(i).setLatLngs(t),this._map.getLayer(i)._featureControlPoints=e,this.wayAnimation.setPath(this._map.getLayer(i)),this.wayAnimation.setWayPoints(e)}},_moveMove:function(t){t.target._icon.style.cursor="pointer"},_moveOut:function(t){t.target._icon.style.cursor=""},_addVertex:function(t){var e=new L.Marker(t,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset});if(this._markerGroup.addLayer(e),this._markers.push(e),this._latlngs.push(t),this._lineType==SuperMap.Plot.GOAnimationType.ANIMATION_BROKENLINE_EXP)this._polyline.setLatLngs(this._latlngs);else{let t=this._latLng2AlgoPlot(this._latlngs);t=SuperMapAlgoPlot.PlottingUtil.generateBeizerPointsNoCtrlPt(t),t=this._algoPlot2LatLng(t),this._polyline.setLatLngs(t)}var i=this._markers.length;i>1&&this._markers[i-1].on("click",this._finishShape,this),i>2&&this._markers[i-2].off("click",this._finishShape,this)},_finishShape:function(){if(this._markers.length>1&&this._markers[this._markers.length-1].off("click",this._finishShape,this),L.Browser.touch&&L.supermap.plotting.getControl().getTouchMode())if(this._lineType==SuperMap.Plot.GOAnimationType.ANIMATION_BROKENLINE_EXP)this._polyline.setLatLngs(this._latlngs);else{let t=this._latLng2AlgoPlot(this._latlngs);t=SuperMapAlgoPlot.PlottingUtil.generateBeizerPointsNoCtrlPt(t),t=this._algoPlot2LatLng(t),this._polyline.setLatLngs(t)}this._markerGroup.clearLayers(),this._markers=[],this._polyline._featureControlPoints=this._latlngs,this.disable(),this.wayAnimation.setPath(this._polyline),this._currentpolyline=this._polyline,this.wayAnimation.setWayPoints(this._polyline._featureControlPoints),this._polyline.setStyle({opacity:0}),this.fire(SuperMap.Plot.Event.wayfeaturedrawfinished,{feature:this._polyline,animation:this.wayAnimation}),this._latlngs=[],delete this._polyline,this._lineType=null,this._polyline=null},_onMouseMove:function(t){if(this._able){var e=this._map.mouseEventToLayerPoint(t.originalEvent),i=this._map.layerPointToLatLng(e);if(this._polyline){var o=L.Util.cloneLatLngs(this._latlngs);if(0===o.length?o.push(i):o[o.length-1].lat===i.lat&&o[o.length-1].lng===i.lng||o.push(i),this._lineType==SuperMap.Plot.GOAnimationType.ANIMATION_BROKENLINE_EXP)this._polyline.setLatLngs(o);else{let t=null,e=null;t=this._latLng2AlgoPlot(o);let i=this._calBeizer(t);e=this._algoPlot2LatLng(i),this._polyline.setLatLngs(e)}}L.DomEvent.preventDefault(t.originalEvent)}},_calBeizer:t=>SuperMapAlgoPlot.PlottingUtil.generateBeizerPointsNoCtrlPt(t),_latLng2AlgoPlot(t){let e=[];for(let i=0;i1&&this._markers[i-1].on("click",this._finishShape,this),i>2&&this._markers[i-2].off("click",this._finishShape,this)},_finishShape:function(){this._markers.length>1&&this._markers[this._markers.length-1].off("click",this._finishShape,this),1!=this.drawType?(this._polyline.setLatLngs(this._latlngs),0===this.drawType?this._measureDistance(this._latlngs):2===this.drawType&&this._measureAzimuth(this._latlngs),this._drawObject.push(this._polyline)):1===this.drawType&&(this._polygon.setLatLngs(this._latlngs),this._measureArea(this._latlngs),this._drawObject.push(this._polygon)),this._polyline?(this._polyline._featureControlPoints=this._latlngs,delete this._polyline,this._polyline=null):this._polygon&&(this._polygon._featureControlPoints=this._latlngs,delete this._polygon,this._polygon=null),this._latlngs=[]},_onMouseMove:function(t){if(this._active){var e=this._map.mouseEventToLayerPoint(t.originalEvent),i=this._map.layerPointToLatLng(e);if(this._polyline||this._polygon){var o=L.Util.cloneLatLngs(this._latlngs);0===o.length?o.push(i):o[o.length-1].lat===i.lat&&o[o.length-1].lng===i.lng||o.push(i),1!=this.drawType?(this._polyline.setLatLngs(o),0===this.drawType?this._measureDistance(this._latlngs):2===this.drawType&&this._measureAzimuth(this._latlngs)):(this._polygon.setLatLngs(o),this._measureArea(this._latlngs)),this._mouseMarker.setLatLng(i)}L.DomEvent.preventDefault(t.originalEvent)}}});L.supermap.plotting.measureControl=function(t,e){return new Rt(t,e)};var Bt=L.Handler.extend({symbolData:null,plotting:null,_isDrawing:!1,libID:0,code:24,serverUrl:"",path:null,isFreeCure:!1,_drawingLayer:null,_tempDrawingLayer:null,_control:null,options:{tolerancePixel:6,allowIntersection:!0,repeatMode:!0,icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),guidelineDistance:20,maxGuideLineLength:4e3,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!1,clickable:!0},metric:!0,feet:!0,nautic:!1,showLength:!0,zIndexOffset:2e3},initialize:function(t,e,i){L.Browser.touch&&L.supermap.plotting.getControl().getTouchMode()&&(this.options.icon=this.options.touchIcon),this._map=t,this._drawingLayer=e,this._tempDrawingLayer=new Tt("drawControl-temportary"),this._container=t._container,this._overlayPane=t._panes.overlayPane,L.setOptions(this,i)},addHooks:function(){this._map&&(this._isDrawing=!1,this._markers=[],this._latlngs=[],this._markerGroup=new L.LayerGroup,this._map.addLayer(this._markerGroup),this._map.addLayer(this._tempDrawingLayer),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("mousedown",this._onMouseDown,this).on("mouseup",this._onMouseUp,this).addTo(this._map),this._map.on("mouseup",this._onMouseUp,this).on("mousemove",this._onMouseMove,this).on("zoomlevelschange",this._onZoomEnd,this).on("zoomend",this._onZoomEnd,this),this._map.getPlotEditControl()&&this._map.getPlotEditControl()._avoidEditing&&this._map.getPlotEditControl().avoidEdit(!1),null!=this._map.doubleClickZoom&&this._map.doubleClickZoom.enabled()&&(this.doubleClickZoomEnabled=!0,this._map.doubleClickZoom.disable()))},removeHooks:function(){this._isDrawing=!1,this._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers,delete this._latlngs,delete this.isFreeCure,this.plotting&&(this._tempDrawingLayer.removeFeatures(this.plotting),delete this.plotting,this.plotting=null),this._map.removeLayer(this._tempDrawingLayer),this._mouseMarker.off("mousedown",this._onMouseDown,this).off("mouseup",this._onMouseUp,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._map.off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this).off("zoomlevelschange",this._onZoomEnd,this).off("zoomend",this._onZoomEnd,this),null!=this._map.doubleClickZoom&&!0===this.doubleClickZoomEnabled&&this._map.doubleClickZoom.enable()},deleteLastVertex:function(){if(!(this._markers.length<=1)){this._latlngs.pop();var t=this._markers.pop(),e=this.plotting.getLatLngs(),i=e.splice(-1,1)[0];this.plotting.setLatLngs(e),this._markerGroup.removeLayer(t),this.plotting.getLatLngs().length<2&&this._tempDrawingLayer.removeFeatures(this.plotting),this._vertexChanged(i,!1)}},addVertex:function(t){if(this._markers.push(this._createMarker(t)),this._latlngs.push(t),this.plotting&&0===this.libID&&1023===this.code&&!0===this.isFreeCure)this.plotting.setLatLngs(this._freeCurveResample(this._latlngs));else if(this.plotting&&SuperMap.Plot.AlgoSymbolFactory.isAccessServer(this.plotting.libID,this.plotting.code)&&this._latlngs.length>=this.plotting.minEditPts){var e=new SuperMap.GetSymbolInfoParameters({libID:this.libID,code:this.code});e.inputPoints=L.Util.latLngsToSuperMapPoints(this._latlngs),L.supermap.symbolInfoService(this._drawingLayer.serverUrl,this._drawingLayer.options.serviceParams).getSymbolInfo(e,function(t){this.plotting.symbolData=t.result,this.plotting.setLatLngs(this._latlngs)},this)}else if(this.plotting&&this.plotting instanceof yt){var i=this._map.layerPointToLatLng(L.point(0,0)),o=this._map.layerPointToLatLng(L.point(this.options.tolerancePixel,0)),l=SuperMap.Plot.PlottingUtil.distance({x:i.lng,y:i.lat},{x:o.lng,y:o.lat});this.plotting._addRouteNodeByPos(t,l)}else this.plotting&&this.plotting.setLatLngs(this._latlngs);this._vertexChanged(t,!0)},_finishShape:function(){this._markers.length>1&&this._markers[this._markers.length-1].off("click",this._finishShape,this),L.Browser.touch&&L.supermap.plotting.getControl().getTouchMode()&&this._latlngs.length+1=this.plotting.minEditPts){let t=new SuperMap.GetSymbolInfoParameters({libID:this.libID,code:this.code});t.inputPoints=L.Util.latLngsToSuperMapPoints(o),L.supermap.symbolInfoService(this._drawingLayer.serverUrl,this._drawingLayer.options.serviceParams).getSymbolInfo(t,function(t){this.plotting.symbolData=t.result,this.plotting.setLatLngs(o)},this)}else this.plotting.setLatLngs(o)}this._mouseMarker.setLatLng(i),L.DomEvent.preventDefault(t.originalEvent)},_createFeature:function(t){if(this._tempDrawingLayer.setSymScaleDefinition(this._drawingLayer.getSymScaleDefinition()),0===this.libID&&this.code===SuperMap.Plot.SymbolType.PICTURE)this.plotting=L.supermap.plotting.PlottingObject.createSymbol(this.libID,this.code,[],{serverUrl:this._drawingLayer.serverUrl,spatialAnalystUrl:this._drawingLayer.spatialAnalystUrl,serviceParams:this._drawingLayer.serviceParams,map:this._map,path:this.path}),this._control.fire(SuperMap.Plot.Event.beforefeatureadded,{feature:this.plotting}),this._tempDrawingLayer.addFeatures(this.plotting),this.plotting.isEdit=!1,"function"==typeof t&&t();else if(SuperMap.Plot.AlgoSymbolFactory.isAccessServer(this.libID,this.code))if(this.symbolData=this._drawingLayer._getSymbolDataFromCache(this.libID,this.code),null===this.symbolData){var e=Math.floor(1e3*Math.random());let i=new SuperMap.GetSymbolInfoParameters({libID:this.libID,code:this.code});i.dynamicToken=e,L.supermap.symbolInfoService(this._drawingLayer.serverUrl,this._drawingLayer.options.serviceParams).getSymbolInfo(i,function(i){i.result.dynamicToken&&i.result.dynamicToken===SuperMap.MD5.md5(e.toString())?this.libID!==i.result.libID||this.code!==i.result.code?this.symbolData=null:(this._drawingLayer._cacheSymbolData(i.result),this.symbolData=i.result,this.plotting=L.supermap.plotting.PlottingObject.createSymbol(this.libID,this.code,[],{symbolData:this.symbolData,serverUrl:this._drawingLayer.serverUrl,serviceParams:this._drawingLayer.serviceParams,map:this._map}),this._control.fire(SuperMap.Plot.Event.beforefeatureadded,{feature:this.plotting}),this._tempDrawingLayer.addFeatures(this.plotting),this.plotting.isEdit=!1,"function"==typeof t&&t()):this.symbolData=null},this)}else this.plotting=L.supermap.plotting.PlottingObject.createSymbol(this.libID,this.code,[],{symbolData:this.symbolData,serverUrl:this._drawingLayer.serverUrl,serviceParams:this._drawingLayer.serviceParams,map:this._map}),this._control.fire(SuperMap.Plot.Event.beforefeatureadded,{feature:this.plotting}),this._tempDrawingLayer.addFeatures(this.plotting),this.plotting.isEdit=!1,"function"==typeof t&&t();else if(this.plotting=L.supermap.plotting.PlottingObject.createSymbol(this.libID,this.code,[],{serverUrl:this._drawingLayer.serverUrl,spatialAnalystUrl:this._drawingLayer.spatialAnalystUrl,serviceParams:this._drawingLayer.serviceParams,map:this._map}),this.plotting.subSymbols&&0!==this.plotting.subSymbols.length){for(var i=[],o=0,l=this.plotting.subSymbols.length;o1&&this._markers[t-1].on("click",this._finishShape,this),t>2&&this._markers[t-2].off("click",this._finishShape,this)},_onMouseDown:function(t){if((!t||2!==t.originalEvent.button)&&!this._clickHandled&&!this._touchHandled&&!this._disableMarkers&&this._drawingLayer&&this._drawingLayer.isEditable&&this._drawingLayer._map){this._onMouseMove(t),this._clickHandled=!0,this._disableNewMarkers();var e=t.originalEvent,i=e.clientX,o=e.clientY;this._startPoint.call(this,i,o)}},_startPoint:function(t,e){0===this.libID&&this.code===SuperMap.Plot.SymbolType.FREECURVE&&(this.isFreeCure=!0),this._mouseDownOrigin=L.point(t,e)},_onMouseUp:function(t){!L.Browser.ie||null!==this._mouseDownOrigin&&void 0!==this._mouseDownOrigin||this._onMouseDown.call(this,t);var e=t.originalEvent,i=e.clientX,o=e.clientY;this._endPoint.call(this,i,o,t),this._clickHandled=null,L.DomEvent.stopPropagation(t)},_endPoint:function(t,e,i){if(this._mouseDownOrigin){var o=L.point(t,e).distanceTo(this._mouseDownOrigin),l=this._calculateFinishDistance(i.latlng);if(L.Browser.touch&&L.supermap.plotting.getControl().getTouchMode()&&null==this.plotting){let t=this;this._createFeature(function(){t._latlngs.push(i.latlng),t.plotting.setLatLngs(t._latlngs),(t.plotting instanceof T||t.plotting instanceof L.supermap.plotting.Route)&&(t._latlngs.length+1>=t.plotting.maxEditPts||l<20&&L.Browser.touch&&L.supermap.plotting.getControl().getTouchMode())?t._finishShape():Math.abs(o)<9*(window.devicePixelRatio||1)&&t.addVertex(i.latlng),t._enableNewMarkers()})}else(this.plotting instanceof T||this.plotting instanceof L.supermap.plotting.Route)&&(this._latlngs.length+1>=this.plotting.maxEditPts||l<20&&L.Browser.touch&&L.supermap.plotting.getControl().getTouchMode())?this._finishShape():Math.abs(o)<9*(window.devicePixelRatio||1)&&this.addVertex(i.latlng),this._enableNewMarkers()}this._mouseDownOrigin=null},_onTouch:function(t){var e,i,o=t.originalEvent;!o.touches||!o.touches[0]||this._clickHandled||this._touchHandled||this._disableMarkers||(e=o.touches[0].clientX,i=o.touches[0].clientY,this._disableNewMarkers(),this._touchHandled=!0,this._startPoint.call(this,e,i),this._endPoint.call(this,e,i,t),this._touchHandled=null),this._clickHandled=null},_calculateFinishDistance:function(t){var e;if(this._markers.length>0){var i=this._markers[this._markers.length-1],o=this._map.latLngToContainerPoint(i.getLatLng()),l=new L.Marker(t,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset}),s=this._map.latLngToContainerPoint(l.getLatLng());e=o.distanceTo(s)}else e=1/0;return e},_createMarker:function(t){var e=new L.Marker(t,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset});return this._markerGroup.addLayer(e),e},_disableNewMarkers:function(){this._disableMarkers=!0},_enableNewMarkers:function(){setTimeout(function(){this._disableMarkers=!1}.bind(this),50)},_freeCurveResample:function(t){var e=t.slice(),i=[];if(e.length<3)i=e.slice();else{if(!this.plotting.isEdit){var o=this._map.layerPointToLatLng(L.point(0,0)),l=this._map.layerPointToLatLng(L.point(100,100)),s=Math.abs(o.lng-l.lng),n=this._reSample(L.Util.latLngsToSuperMapPoints(e),s/50);(n=L.Util.superMapPointsToLatLngs(n)).length<3&&(n=e),e=(e=[]).concat(n)}var a=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.plotting.isEdit,L.Util.latLngsToSuperMapPoints(e),[]);i=SuperMap.Plot.PlottingUtil.clonePoints(L.Util.superMapPointsToLatLngs(a.beizerPoints))}return i},_reSample:function(t,e){var i=[];if(null==t||e<0)return i;var o=t.length;if(o>2){var l=new SuperMapAlgoPlot.Point(0,0),s=0,n=0,a=0,r=2*Math.PI;l=t[0],i.push(l);var p=!1,u=!1,h=!1;for(let P=1;P0||SuperMapAlgoPlot.PlottingUtil.equalFuzzy(0,c)?Math.acos(g):2*Math.PI-Math.acos(g),r>2*Math.PI&&s+2*Math.PIa&&(s-=2*Math.PI,r>2*Math.PI&&(r-=2*Math.PI)),s>a&&ss+y&&(r=s+y):(h=!0,r=s+y),p=!0}else l=t[P-1],P--,i.push(l),a=0,r=2*Math.PI,p=!1,u=!1,h=!1}return i.push(t[o-1]),i}return i}}),Ft=Ut.extend({drawingLayer:null,initialize:function(t,e){if(L.version<"0.7")throw new Error("Leaflet.draw 0.2.3+ requires Leaflet 0.7.0+. Download latest from https://github.com/Leaflet/Leaflet/");this.drawingLayer=t,null!=this.drawingLayer&&this.drawingLayer instanceof Ct&&(L.supermap.plotting.getControl().plotMapManager.activePlottingLayer=this.drawingLayer,L.supermap.plotting.getControl().plotMapManager.activeChildPlotLayer=this.drawingLayer.getChildPlotLayers()[0]),L.Control.prototype.initialize.call(this,e)},onAdd:function(t){var e=L.DomUtil.create("div","supermap-iclient");return this._map=t,this.handler=new Bt(this._map,this.drawingLayer),this.handler._control=this,this._map._plotDrawControl=this,e},onRemove:function(){this._map._plotDrawControl=null,this._map=null,this.handler=null},setDrawingLayer:function(t,e){this.drawingLayer=t,this.handler._drawingLayer=t,this.handler._tempDrawingLayer.serverUrl=t.serverUrl,this.handler._tempDrawingLayer.symScaleDefinition=t.symScaleDefinition,this.handler._tempDrawingLayer.enableSymScale=t.enableSymScale,this.handler._drawingLayer.serviceParams=t.serviceParams,this.drawingLayer instanceof Ct&&(L.supermap.plotting.getControl().plotMapManager.activePlottingLayer=this.drawingLayer,null!=e&&-1!=SuperMap.Util.indexOf(this.drawingLayer.getChildPlotLayers(),e)?L.supermap.plotting.getControl().plotMapManager.activeChildPlotLayer=e:L.supermap.plotting.getControl().plotMapManager.activeChildPlotLayer=this.drawingLayer.getChildPlotLayers()[0])}});L.Map.include({getPlotDrawControl:function(){return this._plotDrawControl?this._plotDrawControl:null}});L.supermap.plotting.drawControl=function(t,e){return new Ft(t,e)};var kt=Ut.extend({_dragStartScale:null,_dragStartRotate:null,_dragStartBounds:null,_dragStartLatLngs:null,_dragStartScaleValues:null,_dragStartPositionOffset:null,_dragStartScalePoints:null,_editMarkers:null,_disEditBox:null,_editFeatures:null,_mouseTolerance:10,touchTolerance:20,_editMode:SuperMap.Plot.EditMode.EDITCIRCUMRECTANGLE,_avoidEditing:!1,_isMultiSelect:!1,selectedFeatures:[],options:{highlightFlag:!0,highlightStyle:{color:"#ffffff",opacity:1,weight:1},unEditIconClassName:"icon iconfont icon-xuanzhong1",draggable:!0,editIcon:L.divIcon({className:"leaflet-supermap-plot-control-icon-path",iconSize:[10,10]}),scaleIcon:L.divIcon({className:"leaflet-supermap-plot-scale-icon-path",iconSize:[10,10]}),rotateIcon:L.divIcon({className:"leaflet-supermap-plot-rotate-icon-path",iconSize:[15,15]}),lockedIcon:L.divIcon({className:"leaflet-supermap-plot-locked-icon-path",iconSize:[10,10]}),avoidIcon:L.divIcon({className:"leaflet-supermap-plot-avoid-icon-path",iconSize:[8,8]}),leftTopIcon:L.divIcon({className:"leaflet-supermap-plot-left-top-icon-path",iconSize:[15,15]}),rightTopIcon:L.divIcon({className:"leaflet-supermap-plot-right-top-icon-path",iconSize:[15,15]}),leftBottomIcon:L.divIcon({className:"leaflet-supermap-plot-left-bottom-icon-path",iconSize:[15,15]}),rightBottomIcon:L.divIcon({className:"leaflet-supermap-plot-right-bottom-icon-path",iconSize:[15,15]}),centerCrossIcon:L.divIcon({className:"leaflet-supermap-plot-center-icon-path",iconSize:[24,24]})},initialize:function(t,e){if(L.Browser.touch&&L.supermap.plotting.getControl().getTouchMode()&&(this.options.editIcon=L.divIcon({className:"leaflet-supermap-plot-control-icon-path",iconSize:[20,20]}),this.options.scaleIcon=L.divIcon({className:"leaflet-supermap-plot-scale-icon-path",iconSize:[20,20]}),this.options.rotateIcon=L.divIcon({className:"leaflet-supermap-plot-rotate-icon-path",iconSize:[25,25]}),this.options.lockedIcon=L.divIcon({className:"leaflet-supermap-plot-locked-icon-path",iconSize:[20,20]}),this.options.avoidIcon=L.divIcon({className:"leaflet-supermap-plot-avoid-icon-path",iconSize:[15,15]})),L.version<"0.7")throw new Error("Leaflet.draw 0.2.3+ requires Leaflet 0.7.0+. Download latest from https://github.com/Leaflet/Leaflet/");L.Control.prototype.initialize.call(this,e),L.setOptions(this,e),this._editMarkers={},this._disEditBox={},this._dragStartScale={},this._dragStartRotate={},this._dragStartBounds={},this._dragStartLatLngs={},this._dragStartPositionOffset={},this._dragStartScaleValues={},this._dragStartScalePoints={},this._editFeatures={}},onAdd:function(t){this.controlDiv=L.DomUtil.create("div","supermap-iclient"),this._map=t,this._map.on("click",this._onMapClick,this),this._map._plotEditControl=this;for(var e=0;e0},canCut:function(){return this.getSelectedFeatures().length>0},canPaste:function(){return!!(this.pasteGeoAry&&this.pasteGeoAry.length>0)},copy:function(){this.pasteGeoAry=[],this.pasteGeoSel=[];for(var t=0,e=this._map.getPlottingLayers().length;t0){var l=o.layer._getFeatureFromEvent(t);l.symbolType===SuperMap.Plot.SymbolType.SATELLITETIMEWINDOWS&&(o=l)}if(this.transaction||(this.transaction=new SuperMap.Plot.Transaction,this.transaction.transType=SuperMap.Plot.TransactionType.EDIT,this.isAddTransInfo=!0),o instanceof d)if(o instanceof m&&o.moveend)o.moveend=!1;else if(null!==o.ownerGroup&&o.ownerGroup.moveend)o.ownerGroup.moveend=!1;else if(this._editMode!==SuperMap.Plot.EditMode.ADDCONTROLPOINT)o instanceof m&&!o.isSelected?(!1===t.originalEvent.ctrlKey&&this.unselectFeatures(),this.selectFeatures(o)):o instanceof yt||o.isSelected||null!==o.ownerGroup&&!0!==o.ownerGroup.isSelected||(!1===t.originalEvent.ctrlKey&&this.unselectFeatures(),this.selectFeatures(o));else if(o instanceof yt||o.isSelected){if(!1===o.isLocked&&o.isSelected)if(o instanceof yt){var s=this._getAddPointTolerance();if(null===(a=o._selectNodeLayer(t.latlng,s))){let e=this._getAddPointTolerance(),i=o._addRouteNodeByPosWithoutLast(t.latlng,e);null!==i&&(this.unselectFeatures(),this.selectFeatures(i))}}else if(o instanceof ct&&o.route.isSelected){let t=o._isFirstNode(),e=o._isLastNode();if(!0===t||!0===e){let i=o.route._addRouteNodeByNode(o.routeNode,t,e);if(null!==i){this.unselectFeatures(),this.selectFeatures(i);var n=new SuperMap.Plot.TransactionInfo;n.layerId=i.layer._leaflet_id,n.uuid=i.uuid,n.functionName="setLatLngs",n.undoParams=[L.Util.cloneLatLngs(i.getLatLngs())],n.redoParams=[L.Util.cloneLatLngs(i.getLatLngs())],this.transaction.transInfos.push(n),this.transaction&&(L.supermap.plotting.getControl().getTransManager().add(this.transaction),this.transaction=new SuperMap.Plot.Transaction,this.isAddTransInfo=!0)}}else this.unselectFeatures(),this.selectFeatures(o)}else this._addPoint(o,t.latlng)}else if(!1===t.originalEvent.ctrlKey&&this.unselectFeatures(),this.selectFeatures(o),o instanceof ct&&((e=o._isFirstNode())||(i=o._isLastNode()))){var a=o.route._addRouteNodeByNode(o.routeNode,e,i);null!==a&&(this.unselectFeatures(),this.selectFeatures(a))}},_addPoint:function(t,e){if(null!==t&&void 0!==t){var i=t.scaleValues.slice(),o=L.Util.cloneLatLngs(t.getLatLngs()),l=L.Util.latLngsToSuperMapPoints(t.getLatLngs());if(t.symbolType===SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM){var s=L.supermap.plotting.editMarker(e,{icon:this.options.scaleIcon,nHandle:-2,tag:t.scalePoints.length});s.owner=t,this._addToMapAndBindMarker(s),this._editMarkers[t.uuid].push(s),t.scalePoints.push(e),t._modifyPoint(t.scalePoints.length-1,e);let o=new SuperMap.Plot.TransactionInfo;o.layerId=t.layer._leaflet_id,o.uuid=t.uuid,o.functionName="setScaleValues",o.undoParams=[i],o.redoParams=[t.scaleValues],this.transaction.transInfos.push(o),this.transaction&&(L.supermap.plotting.getControl().getTransManager().add(this.transaction),this.transaction=new SuperMap.Plot.Transaction,this.isAddTransInfo=!0)}else{if(t.getLatLngs().length>=t.maxEditPts)return;var n=t._getSymbolWayType();if(void 0!==SuperMap.Plot.AlgoSymbolFactory&&SuperMap.Plot.AlgoSymbolFactory.canPolylineConnect(t.libID,t.code)&&!0===t.polylineConnectLocationPoint&&(n=SuperMap.Plot.AddPoint_WayType.POLYLINE),SuperMap.Plot.AddPoint_WayType.UNKNOWN===n)return;var a=new SuperMap.Geometry.Point(e.lng,e.lat),r=-1;SuperMap.Plot.AddPoint_WayType.CURVE===n&&(r=this._addPointByCurve(t,a));var p=new SuperMap.Plot.Transaction;if(L.supermap.plotting.getControl().getTransManager().add(p),SuperMap.Plot.AddPoint_WayType.POLYLINE===n&&(r=this._addPointByPolyLine(t,a)),l=L.Util.latLngsToSuperMapPoints(t.getLatLngs()),r>0&&ro.length)return-1;var l=[],s=0;for(let t=1,e=i.length;tp&&(r=p,a=t+1))}var u=i.slice();u.push(u[0]);var h=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(u),g=[];for(let t=1,e=u.length;tS&&(P=S,y=t+1))}return y>a&&(a=-1),a},_addPointByPolyLine:function(t,e){var i=-1,o=L.Util.latLngsToSuperMapPoints(t.getLatLngs());return(i=this._computePointToLineMinDis(e,o).index)>=0&&i++,i},_addPointByPolybezier:function(t,e,i){let o=L.Util.latLngsToSuperMapPoints(t.getLatLngs()),l=[];if(t.scaleValues.length==4*(o.length-1)){let d=SuperMapAlgoPlot.PlottingUtil.polylineDistance(o);l.push(new SuperMap.Geometry.Point(o[0].x,o[0].y)),l.push(new SuperMap.Geometry.Point(o[0].x,o[0].y));let m=t.scaleValues[0],f=t.scaleValues[1],L=o[0].x+d*m,M=o[0].y+d*f;l.push(new SuperMap.Geometry.Point(L,M));for(let e=1;ei&&(o.index=-1),o},_getAddPointTolerance:function(){var t=this._mouseTolerance;L.Browser.touch&&L.supermap.plotting.getControl().getTouchMode()&&(t=this.touchTolerance);var e=this._map.layerPointToLatLng(L.point(0,0)),i=this._map.layerPointToLatLng(L.point(t,0));return SuperMap.Plot.PlottingUtil.distance(new SuperMap.Geometry.Point(e.lng,e.lat),new SuperMap.Geometry.Point(i.lng,i.lat))},_collectEditMarkers:function(t){void 0!==this._editMarkers[t.uuid]&&this._removeMarkers(t);var e,i=[];if(t.layer instanceof _t){let e=t.graphic._getHandleAndCenterPoints();for(let o=0,l=e.handlePoints.length;o9&&(l=-1):l=-3;let s=new L.LatLng(e.handlePoints[o].lat,e.handlePoints[o].lng),n=L.supermap.plotting.editMarker(s,{icon:this.options.editIcon,nHandle:l,tag:o});this._addToMapAndBindMarker(n),n.owner=t,i.push(n)}for(let o=0,l=e.rotatePoints.length;o1?new L.LatLng(P[1].lat,P[1].lng):new L.LatLng(P[0][1].lat,P[0][1].lng)}else o=new L.LatLng(t.latLngs[e].lat,t.latLngs[e].lng);let l=L.supermap.plotting.editMarker(o,{icon:this.options.editIcon,nHandle:t.enableEdit?-1:-3,tag:e});this._addToMapAndBindMarker(l),i.push(l),l.owner=t}for(let e in t.scalePoints){let o=new L.LatLng(t.scalePoints[e].lat,t.scalePoints[e].lng),l=t.scalePoints[e].tag?t.scalePoints[e].tag:e,s=L.supermap.plotting.editMarker(o,{icon:this.options.scaleIcon,nHandle:t.enableEdit?-2:-3,tag:l});this._addToMapAndBindMarker(s),i.push(s),s.owner=t}}else if(t.symbolType!==SuperMap.Plot.SymbolType.SATELLITE){for(let e in t.latLngs){let o=new L.LatLng(t.latLngs[e].lat,t.latLngs[e].lng),l=L.supermap.plotting.editMarker(o,{icon:this.options.editIcon,nHandle:t.enableEdit?-1:-3,tag:e});this._addToMapAndBindMarker(l),i.push(l),l.owner=t}for(let e in t.scalePoints){let o=new L.LatLng(t.scalePoints[e].lat,t.scalePoints[e].lng),l=t.scalePoints[e].tag?t.scalePoints[e].tag:e,s=L.supermap.plotting.editMarker(o,{icon:this.options.scaleIcon,nHandle:t.enableEdit?-2:-3,tag:l});this._addToMapAndBindMarker(s),i.push(s),s.owner=t}}else if(t.symbolType===SuperMap.Plot.SymbolType.SATELLITE||t.timeWindows.length>1)for(let e in t.scalePoints){let o=new L.LatLng(t.scalePoints[e].lat,t.scalePoints[e].lng),l=t.scalePoints[e].tag?t.scalePoints[e].tag:e,s=L.supermap.plotting.editMarker(o,{icon:this.options.scaleIcon,nHandle:t.enableEdit?-2:-3,tag:l});this._addToMapAndBindMarker(s),i.push(s),s.owner=t}this._editMarkers[t.uuid]=i,this._disEditBox[t.uuid]=e},_resetEditMarkersValue:function(t){if(Object.prototype.hasOwnProperty.call(this._editMarkers,t.uuid)){var e=this._editMarkers[t.uuid],i=this._disEditBox[t.uuid];if(t.layer instanceof _t&&null!=t.graphic){let i=t.graphic._getHandleAndCenterPoints();for(let t in i.handlePoints)e[t]._latlng=i.handlePoints[t],e[t].update();!0===t.locked&&(e[4]._latlng=i.centerPoints[0],e[4].update())}else if(null==i||!t.layer.getLocked()&&t.layer.getEditable())if(t instanceof m||t instanceof ct)if(t instanceof at&&this._editMode!==SuperMap.Plot.EditMode.EDITCIRCUMRECTANGLE)for(var o in t.scalePoints)e[o]._latlng=t.scalePoints[o],e[o].update();else{let i=t._getHandleAndRotatePoints();for(let t in i.handlePoints)e[t]._latlng=i.handlePoints[t],e[t].update();if(this._editMode===SuperMap.Plot.EditMode.EDITCIRCUMRECTANGLE){let t=i.handlePoints.length;for(let o in i.rotatePoints)e[t+parseInt(o)]._latlng=i.rotatePoints[o],e[t+parseInt(o)].update()}}else if(this._editMode===SuperMap.Plot.EditMode.EDITCIRCUMRECTANGLE){let i=t._getHandleAndRotatePoints();for(let t in i.handlePoints)e[t]._latlng=i.handlePoints[t],e[t].update();let o=i.handlePoints.length;for(let t in i.rotatePoints)e[o+parseInt(t)]._latlng=i.rotatePoints[t],e[o+parseInt(t)].update()}else if(void 0!==t.scalePoints&&null!==t.scalePoints||(t.scalePoints=[]),t.symbolType===SuperMap.Plot.SymbolType.REGULARPOLYGON){let i=[t.getLatLngs()[0],t.components[0].getLatLngs()[0][0]];for(let t in i)e[t]._latlng=i[t],e[t].update()}else if(t.symbolType===SuperMap.Plot.SymbolType.PARALLELLINE){var l=L.Util.superMapPointsToLatLngs(t.superMapAlgoSymbol.controlPoints[0]);t.getLatLngs()[0]=L.latLng(l[0].lat,l[0].lng);for(let i in t.getLatLngs())e[i]._latlng=t.getLatLngs()[i],e[i].update()}else if(t.symbolType===SuperMap.Plot.SymbolType.SATELLITE||t.timeWindows&&t.timeWindows.length>1)for(let i in t.scalePoints){let o=parseInt(i);e[o]._latlng=t.scalePoints[i],e[o].update()}else if(t.getLatLngs().length+t.scalePoints.length===e.length){for(let i in t.getLatLngs())e[i]._latlng=t.getLatLngs()[i],e[i].update();let i=t.getLatLngs().length;for(let o in t.scalePoints){var s=i+parseInt(o);e[s]._latlng=t.scalePoints[o],e[s].update()}}else this._collectEditMarkers(t);else{var n=t.getBounds();if(null!==n&&n.isValid()){var a=L.latLng(n.getNorth(),n.getEast()),r=L.latLng(n.getNorth(),n.getWest()),p=L.latLng(n.getSouth(),n.getEast()),u=L.latLng(n.getSouth(),n.getWest());i.setLatLngs([a,r,u,p])}}}},_removeMarkers:function(t){var e=this._editMarkers[t.uuid];for(let t in e)this._unbindMarkerEvents(e[t]),this._map.removeLayer(e[t]);delete this._editMarkers[t.uuid];var i=this._disEditBox[t.uuid];i&&this._map.removeLayer(i),delete this._disEditBox[t.uuid]},_unbindMarkerEvents:function(t){null!=t&&(t.off("mousemove",this._moveMove,this),t.off("mouseout",this._moveOut,this),-3!==t.options.nHandle&&(t.off("click",this._removePoint,this),t.off("dragstart",this._dragStart,this),t.off("drag",this._dragPoint,this),t.off("dragend",this._dragEnd,this),t.dragging.disable()))},_addToMapAndBindMarker:function(t){t.addTo(this._map),t.on("mousemove",this._moveMove,this),t.on("mouseout",this._moveOut,this),-3!==t.options.nHandle&&(t.on("click",this._removePoint,this),t.on("dragstart",this._dragStart,this),t.on("drag",this._dragPoint,this),t.on("dragend",this._dragEnd,this),t.dragging.enable()),-3===t.options.nHandle&&(t.on("dragstart",this._dragStart,this),t.on("dragend",this._dragEnd,this),t.dragging.enable())},_moveMove:function(t){switch(t.target.options.nHandle){case 1:case 8:t.target._icon.style.cursor="se-resize";break;case 3:case 6:t.target._icon.style.cursor="ne-resize";break;case 4:case 5:t.target._icon.style.cursor="e-resize";break;case 2:case 7:t.target._icon.style.cursor="n-resize";break;case-1:case-2:t.target._icon.style.cursor="pointer";break;case 0:t.target._icon.style.cursor="default"}},_moveOut:function(t){t.target._icon.style.cursor=""},_removePoint:function(t){if(this._editMode===SuperMap.Plot.EditMode.ADDCONTROLPOINT&&t.target.owner.isSelected){let i=L.Util.cloneLatLngs(t.target.owner.getLatLngs()),o=this._editMarkers[t.target.owner.uuid],l=o.indexOf(t.target);this._map.removeLayer(o[l]),o.splice(l,1),t.target.owner.latLngs.splice(l,1),t.target.owner.redraw();let s=new SuperMap.Plot.Transaction;L.supermap.plotting.getControl().getTransManager().add(s);var e=new SuperMap.Plot.TransactionInfo;e.layerId=t.target.owner.layer._leaflet_id,e.uuid=t.target.owner.layer.uuid,e.functionName="setLatLngs",e.undoParams=[i],e.redoParams=[L.Util.cloneLatLngs(t.target.owner.getLatLngs())],s.transInfos.push(e)}else if(this._editMode===SuperMap.Plot.EditMode.REMOVECONTROLPOINT&&t.target.owner.isSelected){let e=this._editMarkers[t.target.owner.uuid],i=e.indexOf(t.target),o=L.Util.cloneLatLngs(t.target.owner.getLatLngs());if(t.target.owner.getLatLngs().length<=t.target.owner.minEditPts)return this._editMode=SuperMap.Plot.EditMode.EDITCIRCUMRECTANGLE,void this._collectEditMarkers(t.target.owner);this._map.removeLayer(e[i]),e.splice(i,1),t.target.owner.latLngs.splice(i,1),t.target.owner.redraw();let l=new SuperMap.Plot.Transaction;L.supermap.plotting.getControl().getTransManager().add(l);let s=new SuperMap.Plot.TransactionInfo;s.layerId=t.target.owner.layer._leaflet_id,s.uuid=t.target.owner.uuid,s.functionName="setLatLngs",s.undoParams=[o],s.redoParams=[L.Util.cloneLatLngs(t.target.owner.getLatLngs())],l.transInfos.push(s)}},_dragStart:function(t){for(var e in this.transaction||(this.transaction=new SuperMap.Plot.Transaction,this.transaction.transType=SuperMap.Plot.TransactionType.EDIT,this.isAddTransInfo=!0),this.selectedFeatures){var i=this.selectedFeatures[e];if(i._isDot()&&(this._dragStartScale[i.uuid]=i.getScale()),i.scaleValues&&i.scaleValues.length&&0!==i.scaleValues.length){this._dragStartScaleValues[i.uuid]=[];for(var o=0;o0?this._dragResize(t,t.target.options.nHandle):this._dragLatLngs(t),this.fire(SuperMap.Plot.Event.featuresmodified,{features:this.selectedFeatures})}},_dragRotate:function(t){var e=this;var i=t.target.owner,o=null;o=i.symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL||i.symbolType===SuperMap.Plot.SymbolType.CONCENTRICCIRCLE||i.symbolType===SuperMap.Plot.SymbolType.PICTURE?i.getLatLngs()[0]:i.anchorPoint;var l=this._map.latLngToLayerPoint(o);i.symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL&&!0===i.positionOffset&&(l.x+=i.positionOffsetX*i.dScale,l.y+=i.positionOffsetY*i.dScale);var s=this._map.latLngToLayerPoint(t.latlng),n=this._map.latLngToLayerPoint(t.oldLatLng),a=s.x-l.x-(n.x-l.x),r=s.y-l.y-(n.y-l.y);if(0!==a&&0!==r){var p=180*(Math.atan2(n.y-l.y,n.x-l.x)-Math.atan2(s.y-l.y,s.x-l.x))/Math.PI,u=p;if(void 0!==this._lastPixel)u=180*(Math.atan2(this._lastPixel.y-l.y,this._lastPixel.x-l.x)-Math.atan2(s.y-l.y,s.x-l.x))/Math.PI;!function(t,i){for(var o=0;o0&&i.selectedFeatures[a].setScale(p)}if(i.isAddTransInfo){let t=new SuperMap.Plot.TransactionInfo;t.layerId=i.selectedFeatures[a].layer._leaflet_id,t.uuid=i.selectedFeatures[a].uuid,t.functionName="setScale",i.transaction.transInfos.push(t)}}else{if(9===i.selectedFeatures[a]._getHandleCount()&&e&&e>0){var u=i._dragStartBounds[i.selectedFeatures[a].uuid],h=i._dragStartLatLngs[i.selectedFeatures[a].uuid],g=i.selectedFeatures[a]._getLatLng(e,u,s);i.selectedFeatures[a]._resizeLatLngs(g,e,u,h)}if(SuperMap.Plot.AlgoSymbolFactory.isAccessServer(i.selectedFeatures[a].libID,i.selectedFeatures[a].code)){var c=new SuperMap.GetSymbolInfoParameters;c.libID=i.selectedFeatures[a].libID,c.code=i.selectedFeatures[a].code,c.inputPoints=L.Util.latLngsToSuperMapPoints(i.selectedFeatures[a].getLatLngs()),c.scaleValues=i.selectedFeatures[a].scaleValues,c.subSymbols=i.selectedFeatures[a].subSymbols,n.push(i.selectedFeatures[a]),L.supermap.symbolInfoService(l.serverUrl,l.serviceParams).getSymbolInfo(c,function(t){for(var e=0;e0||r.lng>0&&r.lat<0?r.lng=r.lat*n/a*-1:r.lng=r.lat*n/a:r.lat<0&&r.lng>0||r.lat>0&&r.lng<0?r.lat=r.lng*a/n*-1:r.lat=r.lng*a/n);var p=1,u=l._resizeBounds(t.latlng,e,s),h=!0===Boolean(n)?(u.getEast()-u.getWest())/n:.5,g=!0===Boolean(a)?(u.getNorth()-u.getSouth())/a:.5;p=2===e||7===e?g:4===e||5===e?h:h3||Math.abs(n.y-this._lastDragPixel.y)>3)&&s-this.lastDownTime>100))return;var a=new SuperMap.GetSymbolInfoParameters;a.libID=e.libID,a.code=e.code,l?(a.inputPoints=L.Util.latLngsToSuperMapPoints(e.getLatLngs()),a.scalePoints=L.Util.latLngsToSuperMapPoints(e.scalePoints),a.scaleValues=e.scaleValues,a.newScalePoint=new SuperMap.Geometry.Point(t.latlng.lng,t.latlng.lat),a.newScalePointIndex=parseInt(t.target.options.tag)):(e.getLatLngs()[o]=t.target.getLatLng(),a.inputPoints=L.Util.latLngsToSuperMapPoints(e.getLatLngs()),a.scaleValues=e.scaleValues),a.subSymbols=e.subSymbols,L.supermap.symbolInfoService(e.serverUrl,e.serviceParams).getSymbolInfo(a,function(t){e.symbolData.innerCells=t.result.innerCells,e.symbolData.scalePoints=t.result.scalePoints,e.symbolData.scaleValues=t.result.scaleValues,e.redraw(),e._updateSymbolTexts(),this._resetEditMarkersValue(e)},this),this._lastDragPixel=n,this.lastDownTime=(new Date).getTime()}else if(-1===t.target.options.nHandle){if(e.symbolType===SuperMap.Plot.SymbolType.REGULARPOLYGON)1===o?e.getLatLngs()[e.getLatLngs().length-1]=t.latlng:e.getLatLngs()[0]=t.latlng;else if(e.symbolType===SuperMap.Plot.SymbolType.ELLIPSESYMBOL)e.getLatLngs()[o]=t.latlng;else if(e.symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL){if(!0===e.positionOffset?e.setLatLngs(t.latlng):e.setLatLngs(e.latLngs[0]),this.isAddTransInfo){let t=new SuperMap.Plot.TransactionInfo;t.layerId=e.layer._leaflet_id,t.uuid=e.uuid,t.functionName="setLatLngs",this.transaction.transInfos.push(t)}}else e.getLatLngs()[o]=t.latlng;if(e.symbolType===SuperMap.Plot.SymbolType.LINERELATION||e.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXT||e.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXT1||e.symbolType===SuperMap.Plot.SymbolType.ELLIPSESYMBOL)e._modifyPoint(parseInt(t.target.options.tag),t.latlng);else if(e.redraw(),e.symbolType===SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL&&e.ownerGroup&&(e.ownerGroup.symbolType===SuperMap.Plot.SymbolType.NAVYDEPLOYMENT||e.ownerGroup.symbolType===SuperMap.Plot.SymbolType.AIRDEPLOYMENT))for(let t in e.ownerGroup.subObjects)e.ownerGroup.subObjects[t].redraw();e._updateSymbolTexts(),this._resetEditMarkersValue(e)}else if(-2===t.target.options.nHandle){var r=t.target.getLatLng();if(r.isScalePoint=!0,e._modifyPoint(parseInt(t.target.options.tag),r),e.symbolType===SuperMap.Plot.SymbolType.FLAGGROUP)for(var p=0,u=e.components.length;pn&&!0===this.pasteGeoSel[n])if(a instanceof yt){var u=p._getNodeFeature(p._getNodeByUuid(a.routeNode.id));this.selectedFeatures(u)}else this.selectFeatures(p);if(s[n]&&s[n].geoSymbolTexts)for(let t=0;to[e+1].x){let t=o[e+1];o[e+1]=o[e],o[e]=t;let i=s[e+1];s[e+1]=s[e],s[e]=i}for(var n=Math.abs(o[o.length-1].x-o[0].x)/(o.length-1),a=1;ao[u+1].y){var h=o[u+1];o[u+1]=o[u],o[u]=h;var g=s[u+1];s[u+1]=s[u],s[u]=g}var c=Math.abs(o[o.length-1].y-o[0].y)/(o.length-1);for(let t=1;t