ol-plot-enhanced
Version:
ol plot enhanced
14 lines • 74.4 kB
JavaScript
/*!
* author: baxtergu <baxtergu@gmail.com>
* ol-plot-enhanced v0.1.0
* build-time: 2020-7-23 10:43
* LICENSE: MIT
* (c) 2019-2020 https://github.com/baxtergu/ol-plot
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("ol"),require("ol/interaction"),require("ol/style"),require("ol/Feature"),require("ol/interaction/Draw"),require("ol/layer"),require("ol/source"),require("ol/geom"),require("ol/geom/Polygon"),require("ol/extent.js"),require("ol/color")):"function"==typeof define&&define.amd?define(["ol","ol/interaction","ol/style","ol/Feature","ol/interaction/Draw","ol/layer","ol/source","ol/geom","ol/geom/Polygon","ol/extent.js","ol/color"],e):(t=t||self).olPlot=e(t.ol,t.interaction,t.style,t.Feature,t.Draw,t.layer,t.source,t.geom,t.Polygon$1,t.extent_js,t.color)}(this,(function(t,e,n,i,o,r,s,a,h,l,u){"use strict";function c(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function p(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}function g(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}i=i&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i;const f=function(){this.Events={},this.__cnt=0};f.hasOwnKey=Function.call.bind(Object.hasOwnProperty),f.slice=Function.call.bind(Array.prototype.slice),f.prototype.on=function(t,e,n){return this.bindEvent(t,e,0,n)},f.prototype.un=function(t){var e="",n="",i=!1,o=typeof t,r=this;return"string"===o?!!f.hasOwnKey(this.Events,t)&&(delete this.Events[t],!0):"object"===o?(e=t[0],n=t[1],!(!f.hasOwnKey(this.Events,e)||!f.hasOwnKey(this.Events[e],n))&&(delete this.Events[e][n],!0)):"function"!==o||(r.eachEvent(r.Events,(function(e,n){r.eachEvent(n,(function(n,o){o[0]===t&&(delete r.Events[e][n],i=!0)}))})),i)},f.prototype.once=function(t,e,n){return this.bindEvent(t,e,1,n)},f.prototype.action=function(t,e){f.hasOwnKey(this.Events,t)&&this.eachEvent(this.Events[t],(function(n,i){i[0].apply(i[2],e),i[1]&&delete this.Events[t][n]}))},f.prototype.dispatch=function(t){var e=this,n=f.slice(arguments,1);setTimeout((function(){e.action(t,n)}))},f.prototype.dispatchSync=function(t){this.action(t,f.slice(arguments,1))},f.prototype.clear=function(){this.Events={}},f.prototype.bindEvent=function(t,e,n,i){if("string"!=typeof t||"function"!=typeof e)throw new Error("传入的事件名称和回调函数有误!");return f.hasOwnKey(this.Events,t)||(this.Events[t]={}),this.Events[t][++this.__cnt]=[e,n,i],[t,this.__cnt]},f.prototype.eachEvent=function(t,e){for(var n in t)f.hasOwnKey(t,n)&&e(n,t[n])};var d=Math.PI/2,v={borderRadius:"2px",fontSize:"12px",outline:0,overflow:"hidden",boxSizing:"border-box",border:"1px solid #eeeeee",fontFamily:"Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,WenQuanYi Micro Hei,Arial,sans-serif",color:"#010500",fontWeight:400,padding:"3px",fontStretch:"normal",lineHeight:"normal",textAlign:"left",marginLeft:"auto",marginRight:"auto",width:"auto",height:"auto",background:"rgb(255, 255, 255)",fontStyle:"",fontVariant:""},P=function(t,e){return Math.sqrt(Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2))},m=function(t){var e=0;return t&&Array.isArray(t)&&t.length>0&&t.forEach((function(n,i){i<t.length-1&&(e+=P(n,t[i+1]))})),e},y=function(t){return Math.pow(m(t),.99)},w=function(t,e){return[(t[0]+e[0])/2,(t[1]+e[1])/2]},M=function(t,e,n){var i=[(t[0]+e[0])/2,(t[1]+e[1])/2],o=[i[0]-t[1]+e[1],i[1]+t[0]-e[0]],r=[(t[0]+n[0])/2,(t[1]+n[1])/2],s=[r[0]-t[1]+n[1],r[1]+t[0]-n[0]];return C(i,o,r,s)},C=function(t,e,n,i){if(t[1]===e[1])return[(i[0]-n[0])/(i[1]-n[1])*(t[1]-n[1])+n[0],t[1]];if(n[1]===i[1])return[(e[0]-t[0])/(e[1]-t[1])*(n[1]-t[1])+t[0],n[1]];var o=(e[0]-t[0])/(e[1]-t[1]),r=(i[0]-n[0])/(i[1]-n[1]),s=(o*t[1]-t[0]-r*n[1]+n[0])/(o-r);return[o*s-o*t[1]+t[0],s]},A=function(t,e){var n,i=Math.asin(Math.abs(e[1]-t[1])/P(t,e));return e[1]>=t[1]&&e[0]>=t[0]?n=i+Math.PI:e[1]>=t[1]&&e[0]<t[0]?n=2*Math.PI-i:e[1]<t[1]&&e[0]<t[0]?n=i:e[1]<t[1]&&e[0]>=t[0]&&(n=Math.PI-i),n},x=function(t,e,n){var i=A(e,t)-A(e,n);return i<0?i+2*Math.PI:i},E=function(t,e,n){return(n[1]-t[1])*(e[0]-t[0])>(e[1]-t[1])*(n[0]-t[0])},F=function(t,e,n,i,o){var r=1-(t=Math.max(Math.min(t,1),0)),s=t*t,a=s*t,h=r*r,l=h*r;return[l*e[0]+3*h*t*n[0]+3*r*s*i[0]+a*o[0],l*e[1]+3*h*t*n[1]+3*r*s*i[1]+a*o[1]]},T=function(t,e,n,i,o){var r=A(t,e),s=o?r+n:r-n,a=i*Math.cos(s),h=i*Math.sin(s);return[e[0]+a,e[1]+h]},b=function(t,e,n,i){var o=null,r=null,s=[],a=i-n;a=a<0?a+2*Math.PI:a;for(var h=0;h<=100;h++){var l=n+a*h/100;o=t[0]+e*Math.cos(l),r=t[1]+e*Math.sin(l),s.push([o,r])}return s},_=function(t,e,n,i){var o=k(e,n,i),r=null,s=null,a=null,h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),l=o[0]/h,u=o[1]/h,c=P(e,n),p=P(n,i);return h>1e-4?E(e,n,i)?(a=t*c,r=[n[0]-a*u,n[1]+a*l],a=t*p,s=[n[0]+a*u,n[1]-a*l]):(a=t*c,r=[n[0]+a*u,n[1]-a*l],a=t*p,s=[n[0]-a*u,n[1]+a*l]):(r=[n[0]+t*(e[0]-n[0]),n[1]+t*(e[1]-n[1])],s=[n[0]+t*(i[0]-n[0]),n[1]+t*(i[1]-n[1])]),[r,s]},k=function(t,e,n){var i=t[0]-e[0],o=t[1]-e[1],r=Math.sqrt(i*i+o*o);i/=r,o/=r;var s=n[0]-e[0],a=n[1]-e[1],h=Math.sqrt(s*s+a*a);return[i+(s/=h),o+(a/=h)]},D=function(t,e){for(var n=function(t,e){var n=[t[0],t[1],t[2],null,null],i=n[0],o=n[1],r=n[2],s=n[3],a=n[4],h=_(0,i,o,r)[0],l=k(i,o,r);if(Math.sqrt(l[0]*l[0]+l[1]*l[1])>1e-4){var u=w(i,o),c=i[0]-u[0],p=i[1]-u[1],g=2/P(i,o),f=-g*p,d=g*c,v=f*f-d*d,m=2*f*d,y=d*d-f*f,M=h[0]-u[0],C=h[1]-u[1];s=u[0]+v*M+m*C,a=u[1]+m*M+y*C}else s=i[0]+e*(o[0]-i[0]),a=i[1]+e*(o[1]-i[1]);return[s,a]}(e,t),i=null,o=null,r=[n],s=[],a=0;a<e.length-2;a++){var h=[e[a],e[a+1],e[a+2]],l=_(t,i=h[0],o=h[1],h[2]);r=r.concat(l)}var u=function(t,e){var n=t.length,i=t[n-3],o=t[n-2],r=t[n-1],s=_(0,i,o,r)[1],a=k(i,o,r),h=null,l=null;if(Math.sqrt(a[0]*a[0]+a[1]*a[1])>1e-4){var u=w(o,r),c=r[0]-u[0],p=r[1]-u[1],g=2/P(o,r),f=-g*p,d=g*c,v=f*f-d*d,m=2*f*d,y=d*d-f*f,M=s[0]-u[0],C=s[1]-u[1];h=u[0]+v*M+m*C,l=u[1]+m*M+y*C}else h=r[0]+e*(o[0]-r[0]),l=r[1]+e*(o[1]-r[1]);return[h,l]}(e,t);u&&r.push(u);for(var c=0;c<e.length-1;c++){i=e[c],o=e[c+1],s.push(i);for(var p=0;p<100;p++){var g=F(p/100,i,r[2*c],r[2*c+1],o);s.push(g)}s.push(o)}return s},S=function(t){if(t.length<=2)return t;for(var e=[],n=t.length-1,i=0;i<=1;i+=.01){for(var o=0,r=0,s=0;s<=n;s++){var a=I(n,s),h=Math.pow(i,s),l=Math.pow(1-i,n-s);o+=a*h*l*t[s][0],r+=a*h*l*t[s][1]}e.push([o,r])}return e.push(t[n]),e},H=function(t){var e=1;switch(t){case t<=1:e=1;break;case 2===t:e=2;break;case 3===t:e=6;break;case 24===t:e=24;break;case 5===t:e=120;break;default:for(var n=1;n<=t;n++)e*=n}return e},I=function(t,e){return H(t)/(H(e)*H(t-e))},L=function(t){if(t.length<=2)return t;var e=[],n=t.length-2-1;e.push(t[0]);for(var i=0;i<=n;i++)for(var o=0;o<=1;o+=.05){for(var r=0,s=0,a=0;a<=2;a++){var h=O(a,o);r+=h*t[i+a][0],s+=h*t[i+a][1]}e.push([r,s])}return e.push(t[t.length-1]),e},O=function(t,e){var n=0;return 0===t?n=Math.pow(e-1,2)/2:1===t?n=(-2*Math.pow(e,2)+2*e+1)/2:2===t&&(n=Math.pow(e,2)/2),n},R=function(){for(var t=[],e=0;e<36;e++)t[e]="0123456789abcdef".substr(Math.floor(16*Math.random()),1);return t[14]="4",t[19]="0123456789abcdef".substr(3&t[19]|8,1),t[8]=t[13]=t[18]=t[23]="-",t.join("")},W=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)};function N(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}var z=function(t,e){try{var n=null;if(t){var i=t.getLayers().getArray();n=B(i,"layerName",e)}return n}catch(t){console.log(t)}},B=function t(e,n,i){var o=null;return e.length>0&&e.every((function(e){if(e instanceof r.Group){var s=e.getLayers().getArray();return!(o=t(s,n,i))}return e.get(n)!==i||(o=e,!1)})),o},V=function(t,e,i){try{if(t){var o=z(t,e);if(o instanceof r.Vector||(o=null),o||i&&i.create&&(o=new r.Vector({layerName:e,params:i,layerType:"vector",source:new s.Vector({wrapX:!1}),style:new n.Style({fill:new n.Fill({color:"rgba(67, 110, 238, 0.4)"}),stroke:new n.Stroke({color:"#4781d9",width:2}),image:new n.Circle({radius:7,fill:new n.Fill({color:"#ffcc33"})})})})),t&&o){i&&i.hasOwnProperty("selectable")&&o.set("selectable",i.selectable);var a=z(t,e);a&&a instanceof r.Vector||t.addLayer(o)}return o}}catch(t){console.log(t)}};"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var G=function(t,e){return t(e={exports:{}},e.exports),e.exports}((function(t,e){
/*!
autosize 4.0.2
license: MIT
http://www.jacklmoore.com/autosize
*/
!function(t,e){var n,i,o="function"==typeof Map?new Map:(n=[],i=[],{has:function(t){return n.indexOf(t)>-1},get:function(t){return i[n.indexOf(t)]},set:function(t,e){-1===n.indexOf(t)&&(n.push(t),i.push(e))},delete:function(t){var e=n.indexOf(t);e>-1&&(n.splice(e,1),i.splice(e,1))}}),r=function(t){return new Event(t,{bubbles:!0})};try{new Event("test")}catch(t){r=function(t){var e=document.createEvent("Event");return e.initEvent(t,!0,!1),e}}function s(t){if(t&&t.nodeName&&"TEXTAREA"===t.nodeName&&!o.has(t)){var e=null,n=null,i=null,s=function(){t.clientWidth!==n&&u()},a=function(e){window.removeEventListener("resize",s,!1),t.removeEventListener("input",u,!1),t.removeEventListener("keyup",u,!1),t.removeEventListener("autosize:destroy",a,!1),t.removeEventListener("autosize:update",u,!1),Object.keys(e).forEach((function(n){t.style[n]=e[n]})),o.delete(t)}.bind(t,{height:t.style.height,resize:t.style.resize,overflowY:t.style.overflowY,overflowX:t.style.overflowX,wordWrap:t.style.wordWrap});t.addEventListener("autosize:destroy",a,!1),"onpropertychange"in t&&"oninput"in t&&t.addEventListener("keyup",u,!1),window.addEventListener("resize",s,!1),t.addEventListener("input",u,!1),t.addEventListener("autosize:update",u,!1),t.style.overflowX="hidden",t.style.wordWrap="break-word",o.set(t,{destroy:a,update:u}),function(){var n=window.getComputedStyle(t,null);"vertical"===n.resize?t.style.resize="none":"both"===n.resize&&(t.style.resize="horizontal"),e="content-box"===n.boxSizing?-(parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)):parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth),isNaN(e)&&(e=0),u()}()}function h(e){var n=t.style.width;t.style.width="0px",t.offsetWidth,t.style.width=n,t.style.overflowY=e}function l(){if(0!==t.scrollHeight){var i=function(t){for(var e=[];t&&t.parentNode&&t.parentNode instanceof Element;)t.parentNode.scrollTop&&e.push({node:t.parentNode,scrollTop:t.parentNode.scrollTop}),t=t.parentNode;return e}(t),o=document.documentElement&&document.documentElement.scrollTop;t.style.height="",t.style.height=t.scrollHeight+e+"px",n=t.clientWidth,i.forEach((function(t){t.node.scrollTop=t.scrollTop})),o&&(document.documentElement.scrollTop=o)}}function u(){l();var e=Math.round(parseFloat(t.style.height)),n=window.getComputedStyle(t,null),o="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):t.offsetHeight;if(o<e?"hidden"===n.overflowY&&(h("scroll"),l(),o="content-box"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(t,null).height)):t.offsetHeight):"hidden"!==n.overflowY&&(h("hidden"),l(),o="content-box"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(t,null).height)):t.offsetHeight),i!==o){i=o;var s=r("autosize:resized");try{t.dispatchEvent(s)}catch(t){}}}}function a(t){var e=o.get(t);e&&e.destroy()}function h(t){var e=o.get(t);e&&e.update()}var l=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((l=function(t){return t}).destroy=function(t){return t},l.update=function(t){return t}):((l=function(t,e){return t&&Array.prototype.forEach.call(t.length?t:[t],(function(t){return s(t)})),t}).destroy=function(t){return t&&Array.prototype.forEach.call(t.length?t:[t],a),t},l.update=function(t){return t&&Array.prototype.forEach.call(t.length?t:[t],h),t}),e.default=l,t.exports=e.default}(t,e)})),q=/([\:\-\_]+(.))/g,U=/^moz([A-Z])/,Y=function(t){return"string"==typeof t?document.getElementById(t):t},j=function(t){return t.replace(q,(function(t,e,n,i){return i?n.toUpperCase():n})).replace(U,"Moz$1")},X=function(){if(document.addEventListener)return function(t,e,n){t&&e&&n&&t.addEventListener(e,n,!1)}}(),Z=function(){if(document.removeEventListener)return function(t,e,n){t&&e&&t.removeEventListener(e,n,!1)}}();function K(t,e){if(!t||!e)return null;"float"===(e=j(e))&&(e="cssFloat");try{var n=document.defaultView.getComputedStyle(t,"");return t.style[e]||n?n[e]:null}catch(n){return t.style[e]}}function Q(t,e,n){if(t&&e)if("object"==typeof e)for(var i in e)e.hasOwnProperty(i)&&Q(t,i,e[i]);else"opacity"===(e=j(e))?t.style.filter=isNaN(n)?"":"alpha(opacity="+100*n+")":t.style[e]=n}var J=function(n){function i(t){var e;void 0===t&&(t={});var i=[t.id,t.element,t.offset,t.stopEvent,t.positioning,t.insertFirst,t.autoPan,t.autoPanAnimation,t.autoPanMargin,t.className?t.className:"ol-plot-text-editor"],o=i[0],r=i[1],s=i[2],a=i[3],h=i[4],l=i[5],u=i[6],c=i[7],p=i[8],f=i[9];return(e=n.call(this,{id:o,element:r,stopEvent:a,insertFirst:l,autoPan:u,autoPanAnimation:c,autoPanMargin:p,className:f})||this).setOffset(void 0!==s?s:[0,0]),e.setPositioning(void 0!==h?h:"center-center"),e.mapDragPan=void 0,e.isClick_=!1,e.dragging_=!1,e.isFocus_=!1,e.options_=t,e._position=t.position&&t.position.length>0?t.position:[],e.handleTimer_=null,e.currentPixel_=[],N(["handleFocus_","handleBlur_","handleClick_","handleDragStart_","handleDragEnd_","handleDragDrag_","closeCurrentPlotText","handleResizeMouseDown_","handleResizeMouseMove_","handleResizeMouseUp_","resizeButtonMoveHandler_"],g(e)),e.createTextContent(t),e}p(i,n);var o=i.prototype;return o.createTextContent=function(t){var e=t.className||"ol-plot-text-editor",n=document.createElement("textarea");n.className=e,n.style.width=t.width+"px",n.style.height=t.height+"px",n.style.minHeight=t.minHeight+"px",n.setAttribute("id",t.id),n.setAttribute("autofocus",!0),G(n),X(n,"focus",this.handleFocus_),X(n,"blur",this.handleBlur_),X(n,"click",this.handleClick_),X(n,"mousedown",this.handleDragStart_),X(window,"mouseup",this.handleDragEnd_),this.set("isPlotText",!0),this.setElement(n),this.createCloseButton(t),this.createResizeButton(t),this.setPosition(this._position),this.dispatchEvent("textBoxDrawEnd",{overlay:this,element:n,uuid:t.id})},o.getTextAreaFromContent_=function(){var t="",e=Array.prototype.slice.call(this.element&&this.element.children,0);return e.length>0&&e.every((function(e){return 1!==e.nodeType||"textarea"!==e.nodeName.toLowerCase()||(t=e,!1)})),t},o.createCloseButton=function(t){var e=document.createElement("span");e.className="ol-plot-text-editor-close",e.setAttribute("data-id",t.id),Z(e,"click",this.closeCurrentPlotText),X(e,"click",this.closeCurrentPlotText),this.element.appendChild(e)},o.createResizeButton=function(t){var e=document.createElement("span");e.className="ol-plot-text-editor-resize",e.setAttribute("data-id",t.id),Z(e,"mousedown",this.handleResizeMouseDown_),Z(e,"mousemove",this.handleResizeMouseMove_),X(e,"mousedown",this.handleResizeMouseDown_),X(e,"mousemove",this.handleResizeMouseMove_),this.element.appendChild(e)},o.resizeButtonMoveHandler_=function(t){var e=t.pixel,n=this.getTextAreaFromContent_();if(!(e.length<1||this.currentPixel_.length<1)&&n){var i=[e[0]-this.currentPixel_[0],e[1]-this.currentPixel_[1]],o=[n.offsetWidth,n.offsetHeight],r=o[1]+2*i[1];Q(n,"width",o[0]+2*i[0]+"px"),Q(n,"height",r+"px"),this.currentPixel_=e,this.getMap().render()}},o.handleResizeMouseMove_=function(t){t.stopImmediatePropagation()},o.handleResizeMouseDown_=function(t){this.getMap()&&(this.currentPixel_=[t.x,t.y],this.getMap().on("pointermove",this.resizeButtonMoveHandler_),X(this.getMap().getViewport(),"mouseup",this.handleResizeMouseUp_))},o.handleResizeMouseUp_=function(t){this.getMap()&&(this.getMap().un("pointermove",this.resizeButtonMoveHandler_),Z(this.getMap().getViewport(),"mouseup",this.handleResizeMouseUp_),this.currentPixel_=[])},o.closeCurrentPlotText=function(t){if(this.getMap()&&t&&function(t,e){if(!t||!e)return!1;if(-1!==e.indexOf(" "))throw new Error("className should not contain space.");return t.classList?t.classList.contains(e):(" "+t.className+" ").indexOf(" "+e+" ")>-1}(t.target,"ol-plot-text-editor-close")){var e=t.target.getAttribute("data-id");if(e){var n=this.getMap().getOverlayById(e);n&&this.getMap().removeOverlay(n)}}},o.handleFocus_=function(){this.isFocus_=!0,this.getMap()&&(this.getMap().set("activeTextArea",this),this.getMap().dispatchEvent("activeTextArea"))},o.handleBlur_=function(){this.isFocus_=!1,this.getMap()&&(this.getMap().set("activeTextArea",null),this.getMap().set("disActiveTextArea",this),this.getMap().dispatchEvent("disActiveTextArea"))},o.handleDragStart_=function(t){var e=this;this.getMap()&&!this.dragging_&&this.isMoveModel()&&this.isFocus_&&(this.handleTimer_=window.setTimeout((function(){window.clearTimeout(e.handleTimer_),e.handleTimer_=null,e.isClick_||(e.dragging_=!0,e.disableMapDragPan(),e.preCursor_=e.element.style.cursor,X(e.getMap().getViewport(),"mousemove",e.handleDragDrag_),X(e.element,"mouseup",e.handleDragEnd_))}),300))},o.handleDragDrag_=function(t){this.dragging_&&(this.element.style.cursor="move",this._position=this.getMap().getCoordinateFromPixel([t.clientX,t.clientY]),this.setPosition(this._position))},o.handleDragEnd_=function(t){this.isClick_=!1,window.clearTimeout(this.handleTimer_),this.handleTimer_=null,this.dragging_&&this.isFocus_&&(this.dragging_=!1,this.enableMapDragPan(),this.element.style.cursor=this.preCursor_,Z(this.getMap().getViewport(),"mousemove",this.handleDragDrag_),Z(this.element,"mouseup",this.handleDragEnd_))},o.handleClick_=function(t){t.target===this.element?this.isClick_=!0:this.isClick_=!1},o.isMoveModel=function(){return window.getSelection().getRangeAt(0).collapsed},o.setStyle=function(t){void 0===t&&(t={});var e=this.getTextAreaFromContent_();if(e)for(var n in t)t[n]&&Q(e,n,t[n])},o.getStyle=function(){var t={},e=this.getTextAreaFromContent_();if(e)for(var n in v)t[n]=K(e,n);return t},o.setValue=function(t){var e=this.getTextAreaFromContent_();e&&(e.value=t,t&&G.update(e),this.getMap().render())},o.getValue=function(){var t=this.getTextAreaFromContent_();return t?t.value:""},o.getWidth=function(){var t=this.getTextAreaFromContent_();return t&&t.offsetWidth?t.offsetWidth:0},o.getHeight=function(){var t=this.getTextAreaFromContent_();return t&&t.offsetHeight?t.offsetHeight:0},o.enableMapDragPan=function(){var t=this.getMap();t&&this.mapDragPan&&this.mapDragPan instanceof e.DragPan&&(t.addInteraction(this.mapDragPan),delete this.mapDragPan)},o.disableMapDragPan=function(){var t=this,n=this.getMap();n&&n.getInteractions().getArray().every((function(i){return!(i instanceof e.DragPan)||(t.mapDragPan=i,n.removeInteraction(i),!1)}))},o.setMap=function(e){n.prototype.setMap.call(this,e),e&&e instanceof t.Map&&(this.setStyle(function t(e,n){for(var i in n)W(n[i])&&W(e[i])?t(e[i],n[i]):e[i]=n[i];return e}(v,this.options_.style)),this.setValue(this.options_.value))},i}(t.Overlay),$=Object.freeze({__proto__:null,TEXTAREA:"TextArea",ARC:"Arc",CURVE:"Curve",GATHERING_PLACE:"GatheringPlace",POLYLINE:"Polyline",FREEHANDLINE:"FreeHandLine",POINT:"Point",PENNANT:"Pennant",RECTANGLE:"RectAngle",CIRCLE:"Circle",ELLIPSE:"Ellipse",LUNE:"Lune",SECTOR:"Sector",CLOSED_CURVE:"ClosedCurve",POLYGON:"Polygon",FREE_POLYGON:"FreePolygon",ATTACK_ARROW:"AttackArrow",DOUBLE_ARROW:"DoubleArrow",STRAIGHT_ARROW:"StraightArrow",FINE_ARROW:"FineArrow",ASSAULT_DIRECTION:"AssaultDirection",TAILED_SQUAD_COMBAT:"TailedSquadCombat",TAILED_ATTACK_ARROW:"TailedAttackArrow",SQUAD_COMBAT:"SquadCombat",RECTFLAG:"RectFlag",TRIANGLEFLAG:"TriangleFlag",CURVEFLAG:"CurveFlag"}),tt=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="Point",o.options=i||{},o.set("params",o.options),o.fixPointCount=1,n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){var t=this.points[0];this.setCoordinates(t)},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Point),et=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="Pennant",o.options=i||{},o.set("params",o.options),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){this.setCoordinates(this.points)},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Point),nt=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="Polyline",o.freehand=!1,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){this.setCoordinates(this.points)},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.LineString),it=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="Arc",o.fixPointCount=3,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){var t=this.getPointCount();if(!(t<2))if(2===t)this.setCoordinates(this.points);else{var e=[this.points[0],this.points[1],this.points[2],null,null],n=e[0],i=e[1],o=e[2],r=e[3],s=e[4],a=M(n,i,o),h=P(n,a),l=A(n,a),u=A(i,a);E(n,i,o)?(r=u,s=l):(r=l,s=u),this.setCoordinates(b(a,h,r,s))}},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.LineString),ot=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="Circle",o.fixPointCount=2,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){if(this.getPointCount()<2)return!1;var t=this.points[0],e=P(t,this.points[1]);this.setCoordinates([this.generatePoints(t,e)])},i.generatePoints=function(t,e){for(var n=null,i=null,o=null,r=[],s=0;s<=100;s++)o=2*Math.PI*s/100,n=t[0]+e*Math.cos(o),i=t[1]+e*Math.sin(o),r.push([n,i]);return r},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Polygon),rt=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="Curve",o.t=.3,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){var t=this.getPointCount();if(t<2)return!1;if(2===t)this.setCoordinates(this.points);else{var e=D(this.t,this.points);this.setCoordinates(e)}},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.LineString),st=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="FreeHandLine",o.freehand=!0,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){this.setCoordinates(this.points)},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.LineString),at=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="RectAngle",o.fixPointCount=2,o.set("params",i),o.isFill=!1!==i.isFill||i.isFill,n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){if(2===this.points.length){var t=[];if(this.isFill){var e=l.boundingExtent(this.points);t=h.fromExtent(e).getCoordinates()}else{var n=this.points[0],i=this.points[1];t=[n,[n[0],i[1]],i,[i[0],n[1]],n]}this.setCoordinates(t)}},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Polygon),ht=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="Ellipse",o.fixPointCount=2,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){if(this.getPointCount()<2)return!1;var t=[this.points[0],this.points[1]],e=t[0],n=t[1],i=w(e,n),o=Math.abs((e[0]-n[0])/2),r=Math.abs((e[1]-n[1])/2),s=this.generatePoints(i,o,r);this.setCoordinates([s])},i.generatePoints=function(t,e,n){for(var i=null,o=null,r=null,s=[],a=0;a<=100;a++)r=2*Math.PI*a/100,i=t[0]+e*Math.cos(r),o=t[1]+n*Math.sin(r),s.push([i,o]);return s},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Polygon),lt=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="Lune",o.fixPointCount=3,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){if(this.getPointCount()<2)return!1;var t=this.getPoints();if(2===this.getPointCount()){var e=w(t[0],t[1]),n=P(t[0],e),i=T(t[0],e,d,n);t.push(i)}var o=[t[0],t[1],t[2],void 0,void 0],r=o[0],s=o[1],a=o[2],h=o[3],l=o[4],u=M(r,s,a),c=P(r,u),p=A(r,u),g=A(s,u);E(r,s,a)?(h=g,l=p):(h=p,l=g),(t=b(u,c,h,l)).push(t[0]),this.setCoordinates([t])},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Polygon),ut=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="Sector",o.fixPointCount=3,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){var t=this.getPointCount();if(t<2)return!1;if(2===t)this.setCoordinates([this.points]);else{var e=this.getPoints(),n=[e[0],e[1],e[2]],i=n[0],o=n[1],r=n[2],s=P(o,i),a=A(o,i),h=A(r,i),l=b(i,s,a,h);l.push(i,l[0]),this.setCoordinates([l])}},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Polygon),ct=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="ClosedCurve",o.t=.3,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){var t=this.getPointCount();if(t<2)return!1;if(2===t)this.setCoordinates([this.points]);else{var e=this.getPoints();e.push(e[0],e[1]);for(var n=[],i=[],o=0;o<e.length-2;o++){var r=_(this.t,e[o],e[o+1],e[o+2]);n=n.concat(r)}var s=n.length;n=[n[s-1]].concat(n.slice(0,s-1));for(var a=0;a<e.length-2;a++){var h=e[a],l=e[a+1];i.push(h);for(var u=0;u<=100;u++){var c=F(u/100,h,n[2*a],n[2*a+1],l);i.push(c)}i.push(l)}this.setCoordinates([i])}},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Polygon),pt=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="Polygon",o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){if(this.getPointCount()<2)return!1;this.setCoordinates([this.points])},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Polygon),gt=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="FreePolygon",o.freehand=!0,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){this.setCoordinates([this.points])},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Polygon),ft=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="AttackArrow",o.headHeightFactor=.18,o.headWidthFactor=.3,o.neckHeightFactor=.85,o.neckWidthFactor=.15,o.headTailFactor=.8,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){try{var t=this.getPointCount();if(t<2)return!1;if(2===t)this.setCoordinates([this.points]);else{var e=this.getPoints(),n=[e[0],e[1]],i=n[0],o=n[1];E(e[0],e[1],e[2])&&(i=e[1],o=e[0]);var r=[w(i,o)].concat(e.slice(2)),s=this.getArrowHeadPoints(r,i,o),a=[s[0],s[4]],h=a[0],l=a[1],u=P(i,o)/y(r),c=this.getArrowBodyPoints(r,h,l,u),p=c.length,g=[i].concat(c.slice(0,p/2));g.push(h);var f=[o].concat(c.slice(p/2,p));f.push(l),g=L(g),f=L(f),this.setCoordinates([g.concat(s,f.reverse())])}}catch(t){console.log(t)}},i.getArrowPoints=function(t,e,n,i){var o=w(t,e),r=P(o,n),s=T(n,o,0,.3*r,!0),a=T(n,o,0,.5*r,!0),h=[o,s=T(o,s,d,r/5,i),a=T(o,a,d,r/4,i),n],l=this.getArrowHeadPoints(h);if(!(l&&Array.isArray(l)&&l.length>0))throw new Error("插值出错");var u=[l[0],l[4]],c=u[0],p=u[1],g=P(t,e)/y(h)/2,f=this.getArrowBodyPoints(h,c,p,g);if(f){var v=f.length,m=f.slice(0,v/2),M=f.slice(v/2,v);return m.push(c),M.push(p),(m=m.reverse()).push(e),(M=M.reverse()).push(t),m.reverse().concat(l,M)}},i.getArrowHeadPoints=function(t,e,n){try{var i=y(t),o=i*this.headHeightFactor,r=t[t.length-1];i=P(r,t[t.length-2]);var s=P(e,n);o>s*this.headTailFactor&&(o=s*this.headTailFactor);var a=o*this.headWidthFactor,h=o*this.neckWidthFactor,l=(o=o>i?i:o)*this.neckHeightFactor,u=T(t[t.length-2],r,0,o,!0),c=T(t[t.length-2],r,0,l,!0),p=T(r,u,d,a,!1),g=T(r,u,d,a,!0);return[T(r,c,d,h,!1),p,r,g,T(r,c,d,h,!0)]}catch(t){console.log(t)}},i.getArrowBodyPoints=function(t,e,n,i){for(var o=m(t),r=y(t)*i,s=(r-P(e,n))/2,a=0,h=[],l=[],u=1;u<t.length-1;u++){var c=x(t[u-1],t[u],t[u+1])/2,p=(r/2-(a+=P(t[u-1],t[u]))/o*s)/Math.sin(c),g=T(t[u-1],t[u],Math.PI-c,p,!0),f=T(t[u-1],t[u],c,p,!1);h.push(g),l.push(f)}return h.concat(l)},i.getTempPoint4=function(t,e,n){try{var i=w(t,e),o=P(i,n),r=x(t,i,n),s=void 0,a=void 0,h=void 0,l=void 0;return r<d?(a=o*Math.sin(r),h=o*Math.cos(r),l=T(t,i,d,a,!1),s=T(i,l,d,h,!0)):r>=d&&r<Math.PI?(a=o*Math.sin(Math.PI-r),h=o*Math.cos(Math.PI-r),l=T(t,i,d,a,!1),s=T(i,l,d,h,!1)):r>=Math.PI&&r<1.5*Math.PI?(a=o*Math.sin(r-Math.PI),h=o*Math.cos(r-Math.PI),l=T(t,i,d,a,!0),s=T(i,l,d,h,!0)):(a=o*Math.sin(2*Math.PI-r),h=o*Math.cos(2*Math.PI-r),l=T(t,i,d,a,!0),s=T(i,l,d,h,!1)),s}catch(t){console.log(t)}},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Polygon),dt=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="DoubleArrow",o.headHeightFactor=.25,o.headWidthFactor=.3,o.neckHeightFactor=.85,o.neckWidthFactor=.15,o.connPoint=null,o.tempPoint4=null,o.fixPointCount=4,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){try{var t=this.getPointCount();if(t<2)return!1;if(2===t)return this.setCoordinates([this.points]),!1;if(t>2){var e=[this.points[0],this.points[1],this.points[2]],n=e[0],i=e[1],o=e[2];3===t?(this.tempPoint4=this.getTempPoint4(n,i,o),this.connPoint=w(n,i)):4===t?(this.tempPoint4=this.points[3],this.connPoint=w(n,i)):(this.tempPoint4=this.points[3],this.connPoint=this.points[4]);var r=void 0,s=void 0;E(n,i,o)?(r=this.getArrowPoints(n,this.connPoint,this.tempPoint4,!1),s=this.getArrowPoints(this.connPoint,i,o,!0)):(r=this.getArrowPoints(i,this.connPoint,o,!1),s=this.getArrowPoints(this.connPoint,n,this.tempPoint4,!0));var a=r.length,h=(a-5)/2,l=r.slice(0,h),u=r.slice(h,h+5),c=r.slice(h+5,a),p=s.slice(0,h),g=s.slice(h,h+5),f=s.slice(h+5,a);p=S(p);var d=S(f.concat(l.slice(1)));c=S(c);var v=p.concat(g,d,u,c);this.setCoordinates([v])}}catch(t){console.log(t)}},i.getArrowPoints=function(t,e,n,i){var o=w(t,e),r=P(o,n),s=T(n,o,0,.3*r,!0),a=T(n,o,0,.5*r,!0),h=[o,s=T(o,s,d,r/5,i),a=T(o,a,d,r/4,i),n],l=this.getArrowHeadPoints(h);if(!(l&&Array.isArray(l)&&l.length>0))throw new Error("插值出错");var u=[l[0],l[4]],c=u[0],p=u[1],g=P(t,e)/y(h)/2,f=this.getArrowBodyPoints(h,c,p,g);if(f){var v=f.length,m=f.slice(0,v/2),M=f.slice(v/2,v);return m.push(c),M.push(p),(m=m.reverse()).push(e),(M=M.reverse()).push(t),m.reverse().concat(l,M)}},i.getArrowHeadPoints=function(t){try{var e=y(t)*this.headHeightFactor,n=t[t.length-1],i=e*this.headWidthFactor,o=e*this.neckWidthFactor,r=e*this.neckHeightFactor,s=T(t[t.length-2],n,0,e,!0),a=T(t[t.length-2],n,0,r,!0),h=T(n,s,d,i,!1),l=T(n,s,d,i,!0);return[T(n,a,d,o,!1),h,n,l,T(n,a,d,o,!0)]}catch(t){console.log(t)}},i.getArrowBodyPoints=function(t,e,n,i){for(var o=m(t),r=y(t)*i,s=(r-P(e,n))/2,a=0,h=[],l=[],u=1;u<t.length-1;u++){var c=x(t[u-1],t[u],t[u+1])/2,p=(r/2-(a+=P(t[u-1],t[u]))/o*s)/Math.sin(c),g=T(t[u-1],t[u],Math.PI-c,p,!0),f=T(t[u-1],t[u],c,p,!1);h.push(g),l.push(f)}return h.concat(l)},i.getTempPoint4=function(t,e,n){try{var i=w(t,e),o=P(i,n),r=x(t,i,n),s=void 0,a=void 0,h=void 0,l=void 0;return r<d?(a=o*Math.sin(r),h=o*Math.cos(r),l=T(t,i,d,a,!1),s=T(i,l,d,h,!0)):r>=d&&r<Math.PI?(a=o*Math.sin(Math.PI-r),h=o*Math.cos(Math.PI-r),l=T(t,i,d,a,!1),s=T(i,l,d,h,!1)):r>=Math.PI&&r<1.5*Math.PI?(a=o*Math.sin(r-Math.PI),h=o*Math.cos(r-Math.PI),l=T(t,i,d,a,!0),s=T(i,l,d,h,!0)):(a=o*Math.sin(2*Math.PI-r),h=o*Math.cos(2*Math.PI-r),l=T(t,i,d,a,!0),s=T(i,l,d,h,!1)),s}catch(t){console.log(t)}},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){3===this.getPointCount()&&null!==this.tempPoint4&&this.points.push(this.tempPoint4),null!==this.connPoint&&this.points.push(this.connPoint)},n}(a.Polygon),vt=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="StraightArrow",o.fixPointCount=2,o.maxArrowLength=3e6,o.arrowLengthScale=5,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){try{if(this.getPointCount()<2)return!1;var t=this.getPoints(),e=[t[0],t[1]],n=e[0],i=e[1],o=P(n,i)/this.arrowLengthScale;o=o>this.maxArrowLength?this.maxArrowLength:o;var r=T(n,i,Math.PI/6,o,!1),s=T(n,i,Math.PI/6,o,!0);this.setCoordinates([n,i,r,i,s])}catch(t){console.log(t)}},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.LineString),Pt=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="FineArrow",o.tailWidthFactor=.1,o.neckWidthFactor=.2,o.headWidthFactor=.25,o.headAngle=Math.PI/8.5,o.neckAngle=Math.PI/13,o.fixPointCount=2,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){try{if(this.getPointCount()<2)return!1;var t=this.getPoints(),e=[t[0],t[1]],n=e[0],i=e[1],o=y(t),r=o*this.tailWidthFactor,s=o*this.neckWidthFactor,a=o*this.headWidthFactor,h=T(i,n,d,r,!0),l=T(i,n,d,r,!1),u=T(n,i,this.headAngle,a,!1),c=T(n,i,this.headAngle,a,!0),p=[h,T(n,i,this.neckAngle,s,!1),u,i,c,T(n,i,this.neckAngle,s,!0),l];this.setCoordinates([p])}catch(t){console.log(t)}},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Polygon),mt=function(t){function e(e,n,i){var o;return(o=t.call(this,e,n,i)||this).tailWidthFactor=.05,o.neckWidthFactor=.1,o.headWidthFactor=.15,o.type="AssaultDirection",o.headAngle=Math.PI/4,o.neckAngle=.17741*Math.PI,n&&n.length>0?o.setPoints(n):e&&e.length>0&&o.setCoordinates(e),o.set("params",i),o}return p(e,t),e}(Pt),yt=function(t){function e(e,n,i){var o;return(o=t.call(this,e,n,i)||this).type="TailedAttackArrow",o.headHeightFactor=.18,o.headWidthFactor=.3,o.neckHeightFactor=.85,o.neckWidthFactor=.15,o.tailWidthFactor=.1,o.headTailFactor=.8,o.swallowTailFactor=1,o.swallowTailPnt=null,o.set("params",i),n&&n.length>0?o.setPoints(n):e&&e.length>0&&o.setCoordinates(e),o}return p(e,t),e.prototype.generate=function(){try{var t=this.getPointCount();if(t<2)return!1;if(2===t)return this.setCoordinates([this.points]),!1;var e=this.getPoints(),n=[e[0],e[1]],i=n[0],o=n[1];E(e[0],e[1],e[2])&&(i=e[1],o=e[0]);var r=[w(i,o)].concat(e.slice(2)),s=this.getArrowHeadPoints(r,i,o),a=[s[0],s[4]],h=a[0],l=a[1],u=P(i,o),c=y(r),p=c*this.tailWidthFactor*this.swallowTailFactor;this.swallowTailPnt=T(r[1],r[0],0,p,!0);var g=u/c,f=this.getArrowBodyPoints(r,h,l,g),d=f.length,v=[i].concat(f.slice(0,d/2));v.push(h);var m=[o].concat(f.slice(d/2,d));m.push(l),v=L(v),m=L(m),this.setCoordinates([v.concat(s,m.reverse(),[this.swallowTailPnt,v[0]])])}catch(t){console.log(t)}},e}(ft),wt=function(t){function e(e,n,i){var o;return(o=t.call(this,e,n,i)||this).type="SquadCombat",o.headHeightFactor=.18,o.headWidthFactor=.3,o.neckHeightFactor=.85,o.neckWidthFactor=.15,o.tailWidthFactor=.1,o.set("params",i),n&&n.length>0?o.setPoints(n):e&&e.length>0&&o.setCoordinates(e),o}p(e,t);var n=e.prototype;return n.generate=function(){try{if(this.getPointCount()<2)return!1;var t=this.getPoints(),e=this.getTailPoints(t),n=this.getArrowHeadPoints(t,e[0],e[1]),i=n[0],o=n[4],r=this.getArrowBodyPoints(t,i,o,this.tailWidthFactor),s=r.length,a=[e[0]].concat(r.slice(0,s/2));a.push(i);var h=[e[1]].concat(r.slice(s/2,s));h.push(o),a=L(a),h=L(h),this.setCoordinates([a.concat(n,h.reverse())])}catch(t){console.log(t)}},n.getTailPoints=function(t){var e=y(t)*this.tailWidthFactor;return[T(t[1],t[0],d,e,!1),T(t[1],t[0],d,e,!0)]},e}(ft),Mt=function(t){function e(e,n,i){var o;return(o=t.call(this,e,n,i)||this).type="TailedSquadCombat",o.headHeightFactor=.18,o.headWidthFactor=.3,o.neckHeightFactor=.85,o.neckWidthFactor=.15,o.tailWidthFactor=.1,o.swallowTailFactor=1,o.swallowTailPnt=null,o.fixPointCount=2,o.set("params",i),n&&n.length>0?o.setPoints(n):e&&e.length>0&&o.setCoordinates(e),o}p(e,t);var n=e.prototype;return n.generate=function(){try{if(this.getPointCount()<2)return!1;var t=this.getPoints(),e=this.getTailPoints(t),n=this.getArrowHeadPoints(t,e[0],e[2]),i=n[0],o=n[4],r=this.getArrowBodyPoints(t,i,o,this.tailWidthFactor),s=r.length,a=[e[0]].concat(r.slice(0,s/2));a.push(i);var h=[e[2]].concat(r.slice(s/2,s));h.push(o),a=L(a),h=L(h),this.setCoordinates([a.concat(n,h.reverse(),[e[1],a[0]])])}catch(t){console.log(t)}},n.getTailPoints=function(t){var e=y(t)*this.tailWidthFactor,n=T(t[1],t[0],d,e,!1),i=T(t[1],t[0],d,e,!0),o=e*this.swallowTailFactor;return[n,T(t[1],t[0],0,o,!0),i]},e}(ft),Ct=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="GatheringPlace",o.t=.4,o.fixPointCount=3,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){var t=this.getPoints(),e=this.getPointCount();if(t.length<2)return!1;if(2===e){var n=w(t[0],t[1]),i=P(t[0],n)/.9,o=T(t[0],n,d,i,!0);t=[t[0],o,t[1]]}var r=w(t[0],t[2]);t.push(r,t[0],t[1]);for(var s=[],a=void 0,h=void 0,l=void 0,u=[],c=0;c<t.length-2;c++){a=t[c],h=t[c+1],l=t[c+2];var p=_(this.t,a,h,l);s=s.concat(p)}var g=s.length;s=[s[g-1]].concat(s.slice(0,g-1));for(var f=0;f<t.length-2;f++){a=t[f],h=t[f+1],u.push(a);for(var v=0;v<=100;v++){var m=F(v/100,a,s[2*f],s[2*f+1],h);u.push(m)}u.push(h)}this.setCoordinates([u])},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Polygon),At=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="RectFlag",o.fixPointCount=2,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){if(this.getPointCount()<2)return!1;this.setCoordinates([this.calculatePonits(this.points)])},i.calculatePonits=function(t){var e=[];if(t.length>1){var n=t[0],i=t[t.length-1];e=[n,[i[0],n[1]],[i[0],(n[1]+i[1])/2],[n[0],(n[1]+i[1])/2],[n[0],i[1]]]}return e},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Polygon),xt=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="TriangleFlag",o.fixPointCount=2,o.set("params",i),n&&n.length>0?o.setPoints(n):t&&t.length>0&&o.setCoordinates(t),o}p(n,e);var i=n.prototype;return i.getPlotType=function(){return this.type},i.generate=function(){if(this.getPointCount()<2)return!1;this.setCoordinates([this.calculatePonits(this.points)])},i.calculatePonits=function(t){var e=[];if(t.length>1){var n=t[0],i=t[t.length-1];e=[n,[i[0],(n[1]+i[1])/2],[n[0],(n[1]+i[1])/2],[n[0],i[1]]]}return e},i.setMap=function(e){if(!(e&&e instanceof t.Map))throw new Error("传入的不是地图对象!");this.map=e},i.getMap=function(){return this.map},i.isPlot=function(){return!0},i.setPoints=function(t){this.points=t||[],this.points.length>=1&&this.generate()},i.getPoints=function(){return this.points.slice(0)},i.getPointCount=function(){return this.points.length},i.updatePoint=function(t,e){e>=0&&e<this.points.length&&(this.points[e]=t,this.generate())},i.updateLastPoint=function(t){this.updatePoint(t,this.points.length-1)},i.finishDrawing=function(){},n}(a.Polygon),Et=function(e){function n(t,n,i){var o;return(o=e.call(this,[])||this).type="CurveFlag",o.fixPointCount=2,o.set("params",i),n&&n.length>0?o.setPoints(n)