mirror of
https://github.com/sakitam-fdd/maptalks.plot.git
synced 2026-01-18 16:03:28 +00:00
6 lines
5.8 KiB
JavaScript
6 lines
5.8 KiB
JavaScript
/*!
|
|
* maptalks.plot v0.0.0
|
|
* LICENSE : MIT
|
|
* (c) 2017-2017 https://sakitam-fdd.github.io/maptalks.plot
|
|
*/
|
|
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("maptalks")):"function"==typeof define&&define.amd?define(["exports","maptalks"],t):t(e.MaptalksPlot={},e.maptalks)}(this,function(e,t){"use strict";var o="Polyline",r=Object.freeze({TextArea:"TextArea",ARC:"Arc",CURVE:"Curve",GATHERING_PLACE:"GatheringPlace",POLYLINE:o,FREE_LINE:"FreeLine",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"}),n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=(function(){function e(e){this.value=e}function t(t){function o(n,i){try{var a=t[n](i),u=a.value;u instanceof e?Promise.resolve(u.value).then(function(e){o("next",e)},function(e){o("throw",e)}):r(a.done?"return":"normal",a.value)}catch(e){r("throw",e)}}function r(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):i=null}var n,i;this._invoke=function(e,t){return new Promise(function(r,a){var u={key:e,arg:t,resolve:r,reject:a,next:null};i?i=i.next=u:(n=i=u,o(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),a=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},u=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},c=t.Canvas,l=function(e){function t(){return i(this,t),u(this,e.apply(this,arguments))}return a(t,e),t.prototype._arc=function(e,t,o){for(var r=this.options.arcDegree*Math.PI/180,n=1,i=t.length;n<i;n++)c._arcBetween(e,t[n-1],t[n],r),c._stroke(e,o)},t.prototype._quadraticCurve=function(e,t){t.length<=2?c._path(e,t):c.quadraticCurve(e,t)},t.prototype._bezierCurve=function(e,t){if(t.length<=3)c._path(e,t);else{var o=void 0,r=void 0;for(o=1,r=t.length;o+2<r;o+=3)e.bezierCurveTo(t[o].x,t[o].y,t[o+1].x,t[o+1].y,t[o+2].x,t[o+2].y);if(o<r)for(;o<r;o++)e.lineTo(t[o].x,t[o].y)}},t.prototype._toJSON=function(e){return{feature:this.toGeoJSON(e),subType:"Curve"}},t.prototype._paintOn=function(e,t,o){e.beginPath(),this._arc(e,t,o),c._stroke(e,o),this._paintArrow(e,t,o)},t.fromJSON=function(e){var o=e.feature,r=new t(o.geometry.coordinates,e.options);return r.setProperties(o.properties),r},t}(t.LineString);l.registerJSONType("Curve"),l.mergeOptions({arcDegree:90});var s=t.Coordinate,f=function(e){function t(o){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i(this,t);var n=u(this,e.call(this,r));return n.type="Polyline",o&&n.setCoordinates(o),n}return a(t,e),t.prototype._exportGeoJSONGeometry=function(){var e=this.getCoordinates();return{type:"LineString",coordinates:s.toNumberArrays(e)}},t.prototype._toJSON=function(e){return{feature:this.toGeoJSON(e)}},t}(t.LineString);f.mergeOptions({arrowStyle:null,arrowPlacement:"vertex-last",clipToPaint:!0}),f.registerJSONType("Polyline");var p={};p.Curve={action:"clickDblclick",create:function(e){return new l(e)},update:function(e,t){t.setCoordinates(e)},generate:function(e){return e}},p[o]={action:"clickDblclick",create:function(e){return new f(e)},update:function(e,t){t.setCoordinates(e)},generate:function(e){return e}};var y=function(e){var t=void 0===e?"undefined":n(e);return null!==e&&("object"===t||"function"===t)},h=function e(t,o){for(var r in o)y(o[r])&&y(t[r])?e(t[r],o[r]):t[r]=o[r];return t},v={symbol:{lineColor:"#000",lineWidth:2,lineOpacity:1,polygonFill:"#fff",polygonOpacity:.3},doubleClickZoom:!1,mode:null,once:!1,ignoreMouseleave:!0},d={},g=function(e){function t(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,t);var r=h(v,o),n=u(this,e.call(this,r));return n.options=r,n._checkMode(),n}return a(t,e),t.prototype._getRegisterMode=function(){var e=this.getMode(),o=t.getRegisterMode(e);if(!o)throw new Error(e+" is not a valid mode of DrawTool.");return o},t.prototype.setSymbol=function(e){return e?(this.options.symbol=e,this._geometry&&this._geometry.setSymbol(e),this):this},t.registerMode=function(e,t){d[e.toLowerCase()]=t},t.getRegisterMode=function(e){return d[e.toLowerCase()]},t.registeredModes=function(e){if(e){var t=Reflect.ownKeys(e),o=Array.isArray(t),r=0;for(t=o?t:t[Symbol.iterator]();;){var n;if(o){if(r>=t.length)break;n=t[r++]}else{if((r=t.next()).done)break;n=r.value}var i=n;if(!i.match(/^(?:constructor|prototype|arguments|caller|name|bind|call|apply|toString|length)$/)){var a=Object.getOwnPropertyDescriptor(e,i),u=i.toLowerCase();Object.defineProperty(d,u,a),console.log(d)}}}},t}(t.DrawTool);g.registeredModes(p),e.PlotDraw=g,e.PlotTypes=r,Object.defineProperty(e,"__esModule",{value:!0})}); |