@antv/l7-component 2.18.2 → 2.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/es/assets/iconfont/iconfont.js +46 -0
  2. package/es/constants/index.d.ts +60 -0
  3. package/es/constants/index.js +60 -0
  4. package/es/control/baseControl/buttonControl.d.ts +59 -0
  5. package/es/control/baseControl/buttonControl.js +177 -0
  6. package/es/control/baseControl/control.d.ts +112 -0
  7. package/es/control/baseControl/control.js +302 -0
  8. package/es/control/baseControl/index.d.ts +4 -0
  9. package/es/control/baseControl/index.js +4 -0
  10. package/es/control/baseControl/popperControl.d.ts +26 -0
  11. package/es/control/baseControl/popperControl.js +120 -0
  12. package/es/control/baseControl/selectControl.d.ts +46 -0
  13. package/es/control/baseControl/selectControl.js +204 -0
  14. package/es/control/exportImage.d.ts +18 -0
  15. package/es/control/exportImage.js +159 -0
  16. package/es/control/fullscreen.d.ts +19 -0
  17. package/es/control/fullscreen.js +119 -0
  18. package/es/control/geoLocate.d.ts +16 -0
  19. package/es/control/geoLocate.js +107 -0
  20. package/es/control/layerSwitch.d.ts +19 -0
  21. package/es/control/layerSwitch.js +141 -0
  22. package/es/control/logo.d.ts +13 -0
  23. package/es/control/logo.js +75 -0
  24. package/es/control/mapTheme.d.ts +10 -0
  25. package/es/control/mapTheme.js +110 -0
  26. package/es/control/mouseLocation.d.ts +15 -0
  27. package/es/control/mouseLocation.js +83 -0
  28. package/es/control/scale.d.ts +34 -0
  29. package/es/control/scale.js +149 -0
  30. package/es/control/zoom.d.ts +38 -0
  31. package/es/control/zoom.js +132 -0
  32. package/es/css/button.less +70 -0
  33. package/es/css/control.less +71 -0
  34. package/es/css/index.css +594 -0
  35. package/es/css/index.less +12 -0
  36. package/es/css/l7.less +62 -0
  37. package/es/css/layerPopup.less +8 -0
  38. package/es/css/logo.less +18 -0
  39. package/es/css/mouseLocation.less +9 -0
  40. package/es/css/popper.less +64 -0
  41. package/es/css/popup.less +185 -0
  42. package/es/css/scale.less +34 -0
  43. package/es/css/select.less +86 -0
  44. package/es/css/variables.less +30 -0
  45. package/es/css/zoom.less +29 -0
  46. package/es/images/layers.png +0 -0
  47. package/es/images/layers.svg +1 -0
  48. package/es/images/logo.png +0 -0
  49. package/es/images/quanping.svg +12 -0
  50. package/es/index.d.ts +18 -0
  51. package/es/index.js +49 -0
  52. package/es/interface.d.ts +18 -0
  53. package/es/interface.js +1 -0
  54. package/es/marker-layer.d.ts +54 -0
  55. package/es/marker-layer.js +343 -0
  56. package/es/marker.d.ts +55 -0
  57. package/es/marker.js +410 -0
  58. package/es/popup/layerPopup.d.ts +95 -0
  59. package/es/popup/layerPopup.js +343 -0
  60. package/es/popup/popup.d.ts +139 -0
  61. package/es/popup/popup.js +575 -0
  62. package/es/utils/anchor.d.ts +22 -0
  63. package/es/utils/anchor.js +31 -0
  64. package/es/utils/icon.d.ts +1 -0
  65. package/es/utils/icon.js +9 -0
  66. package/es/utils/popper.d.ts +76 -0
  67. package/es/utils/popper.js +266 -0
  68. package/es/utils/screenfull.d.ts +2 -0
  69. package/es/utils/screenfull.js +128 -0
  70. package/lib/assets/iconfont/iconfont.js +48 -0
  71. package/lib/constants/index.js +68 -0
  72. package/lib/control/baseControl/buttonControl.js +183 -0
  73. package/lib/control/baseControl/control.js +314 -0
  74. package/lib/control/baseControl/index.js +39 -0
  75. package/lib/control/baseControl/popperControl.js +126 -0
  76. package/lib/control/baseControl/selectControl.js +210 -0
  77. package/lib/control/exportImage.js +165 -0
  78. package/lib/control/fullscreen.js +125 -0
  79. package/lib/control/geoLocate.js +113 -0
  80. package/lib/control/layerSwitch.js +147 -0
  81. package/lib/control/logo.js +81 -0
  82. package/lib/control/mapTheme.js +116 -0
  83. package/lib/control/mouseLocation.js +89 -0
  84. package/lib/control/scale.js +155 -0
  85. package/lib/control/zoom.js +138 -0
  86. package/lib/css/button.less +70 -0
  87. package/lib/css/control.less +71 -0
  88. package/lib/css/index.css +594 -0
  89. package/lib/css/index.less +12 -0
  90. package/lib/css/l7.less +62 -0
  91. package/lib/css/layerPopup.less +8 -0
  92. package/lib/css/logo.less +18 -0
  93. package/lib/css/mouseLocation.less +9 -0
  94. package/lib/css/popper.less +64 -0
  95. package/lib/css/popup.less +185 -0
  96. package/lib/css/scale.less +34 -0
  97. package/lib/css/select.less +86 -0
  98. package/lib/css/variables.less +30 -0
  99. package/lib/css/zoom.less +29 -0
  100. package/lib/images/layers.png +0 -0
  101. package/lib/images/layers.svg +1 -0
  102. package/lib/images/logo.png +0 -0
  103. package/lib/images/quanping.svg +12 -0
  104. package/lib/index.js +169 -0
  105. package/lib/interface.js +5 -0
  106. package/lib/marker-layer.js +349 -0
  107. package/lib/marker.js +417 -0
  108. package/lib/popup/layerPopup.js +349 -0
  109. package/lib/popup/popup.js +581 -0
  110. package/lib/utils/anchor.js +40 -0
  111. package/lib/utils/icon.js +16 -0
  112. package/lib/utils/popper.js +270 -0
  113. package/lib/utils/screenfull.js +136 -0
  114. package/package.json +6 -6
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.SelectControl = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+ var _l7Utils = require("@antv/l7-utils");
18
+ var _popperControl = require("./popperControl");
19
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
20
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
21
+ var SelectControlConstant = /*#__PURE__*/function (SelectControlConstant) {
22
+ SelectControlConstant["ActiveOptionClassName"] = "l7-select-control-item-active";
23
+ SelectControlConstant["OptionValueAttrKey"] = "data-option-value";
24
+ SelectControlConstant["OptionIndexAttrKey"] = "data-option-index";
25
+ return SelectControlConstant;
26
+ }(SelectControlConstant || {});
27
+ var SelectControl = /*#__PURE__*/function (_PopperControl) {
28
+ (0, _inherits2.default)(SelectControl, _PopperControl);
29
+ var _super = _createSuper(SelectControl);
30
+ function SelectControl() {
31
+ var _this;
32
+ (0, _classCallCheck2.default)(this, SelectControl);
33
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34
+ args[_key] = arguments[_key];
35
+ }
36
+ _this = _super.call.apply(_super, [this].concat(args));
37
+ /**
38
+ * 当前选中的值
39
+ * @protected
40
+ */
41
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "selectValue", []);
42
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createNormalOption", function (option) {
43
+ var isSelect = _this.selectValue.includes(option.value);
44
+ var optionDOM = _l7Utils.DOM.create('div', "l7-select-control-item ".concat(isSelect ? SelectControlConstant.ActiveOptionClassName : ''));
45
+ if (_this.getIsMultiple()) {
46
+ optionDOM.appendChild(_this.createCheckbox(isSelect));
47
+ }
48
+ if (option.icon) {
49
+ optionDOM.appendChild(option.icon);
50
+ }
51
+ var textDOM = _l7Utils.DOM.create('span');
52
+ textDOM.innerText = option.text;
53
+ optionDOM.appendChild(textDOM);
54
+ return optionDOM;
55
+ });
56
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onItemClick", function (item) {
57
+ if (_this.getIsMultiple()) {
58
+ var targetIndex = _this.selectValue.findIndex(function (value) {
59
+ return value === item.value;
60
+ });
61
+ if (targetIndex > -1) {
62
+ _this.selectValue.splice(targetIndex, 1);
63
+ } else {
64
+ _this.selectValue = [].concat((0, _toConsumableArray2.default)(_this.selectValue), [item.value]);
65
+ }
66
+ } else {
67
+ _this.selectValue = [item.value];
68
+ }
69
+ _this.setSelectValue(_this.selectValue);
70
+ });
71
+ return _this;
72
+ }
73
+ (0, _createClass2.default)(SelectControl, [{
74
+ key: "setOptions",
75
+ value:
76
+ /**
77
+ * 选项对应的 DOM 列表
78
+ * @protected
79
+ */
80
+
81
+ function setOptions(option) {
82
+ (0, _get2.default)((0, _getPrototypeOf2.default)(SelectControl.prototype), "setOptions", this).call(this, option);
83
+ var options = option.options;
84
+ if (options) {
85
+ this.popper.setContent(this.getPopperContent(options));
86
+ }
87
+ }
88
+ }, {
89
+ key: "onAdd",
90
+ value: function onAdd() {
91
+ var button = (0, _get2.default)((0, _getPrototypeOf2.default)(SelectControl.prototype), "onAdd", this).call(this);
92
+ var defaultValue = this.controlOption.defaultValue;
93
+ if (defaultValue) {
94
+ this.selectValue = this.transSelectValue(defaultValue);
95
+ }
96
+ this.popper.setContent(this.getPopperContent(this.controlOption.options));
97
+ return button;
98
+ }
99
+ }, {
100
+ key: "getSelectValue",
101
+ value: function getSelectValue() {
102
+ return this.getIsMultiple() ? this.selectValue : this.selectValue[0];
103
+ }
104
+ }, {
105
+ key: "setSelectValue",
106
+ value: function setSelectValue(value) {
107
+ var _this2 = this;
108
+ var emitEvent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
109
+ var finalValue = this.transSelectValue(value);
110
+ this.optionDOMList.forEach(function (optionDOM) {
111
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
112
+ var optionValue = optionDOM.getAttribute(SelectControlConstant.OptionValueAttrKey);
113
+ var checkboxDOM = _this2.getIsMultiple() ? optionDOM.querySelector('input[type=checkbox]') : undefined;
114
+ if (finalValue.includes(optionValue)) {
115
+ _l7Utils.DOM.addClass(optionDOM, SelectControlConstant.ActiveOptionClassName);
116
+ if (checkboxDOM) {
117
+ // @ts-ignore
118
+ _l7Utils.DOM.setChecked(checkboxDOM, true);
119
+ }
120
+ } else {
121
+ _l7Utils.DOM.removeClass(optionDOM, SelectControlConstant.ActiveOptionClassName);
122
+ if (checkboxDOM) {
123
+ // @ts-ignore
124
+ _l7Utils.DOM.setChecked(checkboxDOM, false);
125
+ }
126
+ }
127
+ });
128
+ this.selectValue = finalValue;
129
+ if (emitEvent) {
130
+ this.emit('selectChange', this.getIsMultiple() ? finalValue : finalValue[0]);
131
+ }
132
+ }
133
+
134
+ /**
135
+ * 是否为多选
136
+ * @protected
137
+ */
138
+ }, {
139
+ key: "getIsMultiple",
140
+ value: function getIsMultiple() {
141
+ return false;
142
+ }
143
+ }, {
144
+ key: "getPopperContent",
145
+ value: function getPopperContent(options) {
146
+ var _this3 = this;
147
+ var isImageOptions = this.isImageOptions();
148
+ var content = _l7Utils.DOM.create('div', isImageOptions ? 'l7-select-control--image' : 'l7-select-control--normal');
149
+ if (this.getIsMultiple()) {
150
+ _l7Utils.DOM.addClass(content, 'l7-select-control--multiple');
151
+ }
152
+ var optionsDOMList = options.map(function (option, optionIndex) {
153
+ var optionDOM = isImageOptions ?
154
+ // @ts-ignore
155
+ _this3.createImageOption(option) : _this3.createNormalOption(option);
156
+ optionDOM.setAttribute(SelectControlConstant.OptionValueAttrKey, option.value);
157
+ optionDOM.setAttribute(SelectControlConstant.OptionIndexAttrKey, window.String(optionIndex));
158
+ optionDOM.addEventListener('click', _this3.onItemClick.bind(_this3, option));
159
+ return optionDOM;
160
+ });
161
+ content.append.apply(content, (0, _toConsumableArray2.default)(optionsDOMList));
162
+ this.optionDOMList = optionsDOMList;
163
+ return content;
164
+ }
165
+ }, {
166
+ key: "createImageOption",
167
+ value: function createImageOption(option) {
168
+ var isSelect = this.selectValue.includes(option.value);
169
+ var optionDOM = _l7Utils.DOM.create('div', "l7-select-control-item ".concat(isSelect ? SelectControlConstant.ActiveOptionClassName : ''));
170
+ var imgDOM = _l7Utils.DOM.create('img');
171
+ imgDOM.setAttribute('src', option.img);
172
+ _l7Utils.DOM.setUnDraggable(imgDOM);
173
+ optionDOM.appendChild(imgDOM);
174
+ var rowDOM = _l7Utils.DOM.create('div', 'l7-select-control-item-row');
175
+ if (this.getIsMultiple()) {
176
+ optionDOM.appendChild(this.createCheckbox(isSelect));
177
+ }
178
+ var textDOM = _l7Utils.DOM.create('span');
179
+ textDOM.innerText = option.text;
180
+ rowDOM.appendChild(textDOM);
181
+ optionDOM.appendChild(rowDOM);
182
+ return optionDOM;
183
+ }
184
+ }, {
185
+ key: "createCheckbox",
186
+ value: function createCheckbox(isSelect) {
187
+ var checkboxDOM = _l7Utils.DOM.create('input');
188
+ checkboxDOM.setAttribute('type', 'checkbox');
189
+ if (isSelect) {
190
+ _l7Utils.DOM.setChecked(checkboxDOM, true);
191
+ }
192
+ return checkboxDOM;
193
+ }
194
+ }, {
195
+ key: "isImageOptions",
196
+ value: function isImageOptions() {
197
+ // @ts-ignore
198
+ return !!this.controlOption.options.find(function (item) {
199
+ return item.img;
200
+ });
201
+ }
202
+ }, {
203
+ key: "transSelectValue",
204
+ value: function transSelectValue(value) {
205
+ return Array.isArray(value) ? value : [value];
206
+ }
207
+ }]);
208
+ return SelectControl;
209
+ }(_popperControl.PopperControl);
210
+ exports.default = exports.SelectControl = SelectControl;
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.ExportImage = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
+ var _icon = require("../utils/icon");
21
+ var _buttonControl = _interopRequireDefault(require("./baseControl/buttonControl"));
22
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
23
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
24
+ var ExportImage = /*#__PURE__*/function (_ButtonControl) {
25
+ (0, _inherits2.default)(ExportImage, _ButtonControl);
26
+ var _super = _createSuper(ExportImage);
27
+ function ExportImage() {
28
+ var _this;
29
+ (0, _classCallCheck2.default)(this, ExportImage);
30
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
31
+ args[_key] = arguments[_key];
32
+ }
33
+ _this = _super.call.apply(_super, [this].concat(args));
34
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onClick", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
35
+ var onExport;
36
+ return _regenerator.default.wrap(function _callee$(_context) {
37
+ while (1) switch (_context.prev = _context.next) {
38
+ case 0:
39
+ onExport = _this.controlOption.onExport;
40
+ if (!(onExport === null || onExport === void 0)) {
41
+ _context.next = 5;
42
+ break;
43
+ }
44
+ void 0;
45
+ _context.next = 10;
46
+ break;
47
+ case 5:
48
+ _context.t0 = onExport;
49
+ _context.next = 8;
50
+ return _this.getImage();
51
+ case 8:
52
+ _context.t1 = _context.sent;
53
+ (0, _context.t0)(_context.t1);
54
+ case 10:
55
+ case "end":
56
+ return _context.stop();
57
+ }
58
+ }, _callee);
59
+ })));
60
+ /**
61
+ * 将多张图片合并为一张图片
62
+ * @protected
63
+ * @param base64List
64
+ */
65
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mergeImage", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
66
+ var _this$mapsService$get, _this$mapsService$get2;
67
+ var imageType,
68
+ _ref3,
69
+ _ref3$width,
70
+ width,
71
+ _ref3$height,
72
+ height,
73
+ canvas,
74
+ context,
75
+ _len2,
76
+ base64List,
77
+ _key2,
78
+ imgList,
79
+ _args2 = arguments;
80
+ return _regenerator.default.wrap(function _callee2$(_context2) {
81
+ while (1) switch (_context2.prev = _context2.next) {
82
+ case 0:
83
+ imageType = _this.controlOption.imageType;
84
+ _ref3 = (_this$mapsService$get = (_this$mapsService$get2 = _this.mapsService.getContainer()) === null || _this$mapsService$get2 === void 0 ? void 0 : _this$mapsService$get2.getBoundingClientRect()) !== null && _this$mapsService$get !== void 0 ? _this$mapsService$get : {}, _ref3$width = _ref3.width, width = _ref3$width === void 0 ? 0 : _ref3$width, _ref3$height = _ref3.height, height = _ref3$height === void 0 ? 0 : _ref3$height;
85
+ canvas = document.createElement('canvas');
86
+ canvas.width = width;
87
+ canvas.height = height;
88
+ context = canvas.getContext('2d');
89
+ for (_len2 = _args2.length, base64List = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
90
+ base64List[_key2] = _args2[_key2];
91
+ }
92
+ _context2.next = 9;
93
+ return Promise.all(base64List.map(function (base64) {
94
+ return new Promise(function (resolve) {
95
+ var img = new Image();
96
+ img.onload = function () {
97
+ resolve(img);
98
+ };
99
+ img.src = base64;
100
+ });
101
+ }));
102
+ case 9:
103
+ imgList = _context2.sent;
104
+ imgList.forEach(function (img) {
105
+ context === null || context === void 0 ? void 0 : context.drawImage(img, 0, 0, width, height);
106
+ });
107
+ return _context2.abrupt("return", canvas.toDataURL("image/".concat(imageType)));
108
+ case 12:
109
+ case "end":
110
+ return _context2.stop();
111
+ }
112
+ }, _callee2);
113
+ })));
114
+ return _this;
115
+ }
116
+ (0, _createClass2.default)(ExportImage, [{
117
+ key: "onAdd",
118
+ value: function onAdd() {
119
+ var button = (0, _get2.default)((0, _getPrototypeOf2.default)(ExportImage.prototype), "onAdd", this).call(this);
120
+ button.addEventListener('click', this.onClick);
121
+ return button;
122
+ }
123
+ }, {
124
+ key: "getDefault",
125
+ value: function getDefault(option) {
126
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _get2.default)((0, _getPrototypeOf2.default)(ExportImage.prototype), "getDefault", this).call(this, option)), {}, {
127
+ title: '导出图片',
128
+ btnIcon: (0, _icon.createL7Icon)('l7-icon-export-picture'),
129
+ imageType: 'png'
130
+ });
131
+ }
132
+ }, {
133
+ key: "getImage",
134
+ value: function () {
135
+ var _getImage = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
136
+ var mapImage, layerImage;
137
+ return _regenerator.default.wrap(function _callee3$(_context3) {
138
+ while (1) switch (_context3.prev = _context3.next) {
139
+ case 0:
140
+ _context3.next = 2;
141
+ return this.mapsService.exportMap('png');
142
+ case 2:
143
+ mapImage = _context3.sent;
144
+ _context3.next = 5;
145
+ return this.scene.exportPng('png');
146
+ case 5:
147
+ layerImage = _context3.sent;
148
+ return _context3.abrupt("return", this.mergeImage.apply(this, (0, _toConsumableArray2.default)([mapImage, layerImage].filter(function (base64) {
149
+ return base64;
150
+ }))));
151
+ case 7:
152
+ case "end":
153
+ return _context3.stop();
154
+ }
155
+ }, _callee3, this);
156
+ }));
157
+ function getImage() {
158
+ return _getImage.apply(this, arguments);
159
+ }
160
+ return getImage;
161
+ }()
162
+ }]);
163
+ return ExportImage;
164
+ }(_buttonControl.default);
165
+ exports.default = exports.ExportImage = ExportImage;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.Fullscreen = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
14
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
15
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
+ var _l7Utils = require("@antv/l7-utils");
20
+ var _icon = require("../utils/icon");
21
+ var _screenfull = _interopRequireDefault(require("../utils/screenfull"));
22
+ var _buttonControl = _interopRequireDefault(require("./baseControl/buttonControl"));
23
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
24
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
25
+ var Fullscreen = /*#__PURE__*/function (_ButtonControl) {
26
+ (0, _inherits2.default)(Fullscreen, _ButtonControl);
27
+ var _super = _createSuper(Fullscreen);
28
+ function Fullscreen(option) {
29
+ var _this;
30
+ (0, _classCallCheck2.default)(this, Fullscreen);
31
+ _this = _super.call(this, option);
32
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isFullscreen", false);
33
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "toggleFullscreen", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
34
+ return _regenerator.default.wrap(function _callee$(_context) {
35
+ while (1) switch (_context.prev = _context.next) {
36
+ case 0:
37
+ if (!_screenfull.default.isEnabled) {
38
+ _context.next = 3;
39
+ break;
40
+ }
41
+ _context.next = 3;
42
+ return _screenfull.default.toggle(_this.mapContainer);
43
+ case 3:
44
+ case "end":
45
+ return _context.stop();
46
+ }
47
+ }, _callee);
48
+ })));
49
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onClick", function () {
50
+ _this.toggleFullscreen();
51
+ });
52
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onFullscreenChange", function () {
53
+ _this.isFullscreen = !!document.fullscreenElement;
54
+ var _this$controlOption = _this.controlOption,
55
+ btnText = _this$controlOption.btnText,
56
+ btnIcon = _this$controlOption.btnIcon,
57
+ title = _this$controlOption.title,
58
+ exitBtnText = _this$controlOption.exitBtnText,
59
+ exitBtnIcon = _this$controlOption.exitBtnIcon,
60
+ exitTitle = _this$controlOption.exitTitle;
61
+ if (_this.isFullscreen) {
62
+ _this.setBtnTitle(exitTitle);
63
+ _this.setBtnText(exitBtnText);
64
+ _this.setBtnIcon(exitBtnIcon);
65
+ } else {
66
+ _this.setBtnTitle(title);
67
+ _this.setBtnText(btnText);
68
+ _this.setBtnIcon(btnIcon);
69
+ }
70
+ _this.emit('fullscreenChange', _this.isFullscreen);
71
+ });
72
+ if (!_screenfull.default.isEnabled) {
73
+ console.warn('当前浏览器环境不支持对地图全屏化');
74
+ }
75
+ return _this;
76
+ }
77
+ (0, _createClass2.default)(Fullscreen, [{
78
+ key: "setOptions",
79
+ value: function setOptions(newOptions) {
80
+ var exitBtnText = newOptions.exitBtnText,
81
+ exitBtnIcon = newOptions.exitBtnIcon,
82
+ exitTitle = newOptions.exitTitle;
83
+ if (this.isFullscreen) {
84
+ if (this.checkUpdateOption(newOptions, ['exitBtnIcon'])) {
85
+ this.setBtnIcon(exitBtnIcon);
86
+ }
87
+ if (this.checkUpdateOption(newOptions, ['exitBtnText'])) {
88
+ this.setBtnText(exitBtnText);
89
+ }
90
+ if (this.checkUpdateOption(newOptions, ['exitTitle'])) {
91
+ this.setBtnTitle(exitTitle);
92
+ }
93
+ }
94
+ (0, _get2.default)((0, _getPrototypeOf2.default)(Fullscreen.prototype), "setOptions", this).call(this, newOptions);
95
+ }
96
+ }, {
97
+ key: "onAdd",
98
+ value: function onAdd() {
99
+ var button = (0, _get2.default)((0, _getPrototypeOf2.default)(Fullscreen.prototype), "onAdd", this).call(this);
100
+ button.addEventListener('click', this.onClick);
101
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
102
+ this.mapContainer = _l7Utils.DOM.getContainer(this.scene.getSceneConfig().id);
103
+ this.mapContainer.addEventListener('fullscreenchange', this.onFullscreenChange);
104
+ return button;
105
+ }
106
+ }, {
107
+ key: "onRemove",
108
+ value: function onRemove() {
109
+ (0, _get2.default)((0, _getPrototypeOf2.default)(Fullscreen.prototype), "onRemove", this).call(this);
110
+ this.mapContainer.removeEventListener('fullscreenchange', this.onFullscreenChange);
111
+ }
112
+ }, {
113
+ key: "getDefault",
114
+ value: function getDefault(option) {
115
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _get2.default)((0, _getPrototypeOf2.default)(Fullscreen.prototype), "getDefault", this).call(this, option)), {}, {
116
+ title: '全屏',
117
+ btnIcon: (0, _icon.createL7Icon)('l7-icon-fullscreen'),
118
+ exitTitle: '退出全屏',
119
+ exitBtnIcon: (0, _icon.createL7Icon)('l7-icon-exit-fullscreen')
120
+ });
121
+ }
122
+ }]);
123
+ return Fullscreen;
124
+ }(_buttonControl.default);
125
+ exports.default = exports.Fullscreen = Fullscreen;
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.GeoLocate = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
14
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
15
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
+ var _icon = require("../utils/icon");
20
+ var _buttonControl = _interopRequireDefault(require("./baseControl/buttonControl"));
21
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
22
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
23
+ var GeoLocate = /*#__PURE__*/function (_ButtonControl) {
24
+ (0, _inherits2.default)(GeoLocate, _ButtonControl);
25
+ var _super = _createSuper(GeoLocate);
26
+ function GeoLocate(option) {
27
+ var _this;
28
+ (0, _classCallCheck2.default)(this, GeoLocate);
29
+ _this = _super.call(this, option);
30
+ /**
31
+ * 通过浏览器 API 获取当前所在经纬度
32
+ */
33
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getGeoLocation", function () {
34
+ return new Promise(function (resolve, reject) {
35
+ window.navigator.geolocation.getCurrentPosition(function (_ref) {
36
+ var coords = _ref.coords;
37
+ var _ref2 = coords !== null && coords !== void 0 ? coords : {},
38
+ longitude = _ref2.longitude,
39
+ latitude = _ref2.latitude;
40
+ if (!isNaN(longitude) && !isNaN(latitude)) {
41
+ resolve([longitude, latitude]);
42
+ } else {
43
+ reject();
44
+ }
45
+ }, function (e) {
46
+ reject(e);
47
+ });
48
+ });
49
+ });
50
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onClick", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
51
+ var transform, position, currentZoom;
52
+ return _regenerator.default.wrap(function _callee$(_context) {
53
+ while (1) switch (_context.prev = _context.next) {
54
+ case 0:
55
+ if (window.navigator.geolocation) {
56
+ _context.next = 2;
57
+ break;
58
+ }
59
+ return _context.abrupt("return");
60
+ case 2:
61
+ transform = _this.controlOption.transform;
62
+ _context.next = 5;
63
+ return _this.getGeoLocation();
64
+ case 5:
65
+ position = _context.sent;
66
+ currentZoom = _this.mapsService.getZoom();
67
+ _context.t0 = _this.mapsService;
68
+ _context.t1 = currentZoom > 15 ? currentZoom : 15;
69
+ if (!transform) {
70
+ _context.next = 15;
71
+ break;
72
+ }
73
+ _context.next = 12;
74
+ return transform(position);
75
+ case 12:
76
+ _context.t2 = _context.sent;
77
+ _context.next = 16;
78
+ break;
79
+ case 15:
80
+ _context.t2 = position;
81
+ case 16:
82
+ _context.t3 = _context.t2;
83
+ _context.t0.setZoomAndCenter.call(_context.t0, _context.t1, _context.t3);
84
+ case 18:
85
+ case "end":
86
+ return _context.stop();
87
+ }
88
+ }, _callee);
89
+ })));
90
+ if (!window.navigator.geolocation) {
91
+ console.warn('当前浏览器环境不支持获取地理定位');
92
+ }
93
+ return _this;
94
+ }
95
+ (0, _createClass2.default)(GeoLocate, [{
96
+ key: "getDefault",
97
+ value: function getDefault(option) {
98
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _get2.default)((0, _getPrototypeOf2.default)(GeoLocate.prototype), "getDefault", this).call(this, option)), {}, {
99
+ title: '定位',
100
+ btnIcon: (0, _icon.createL7Icon)('l7-icon-reposition')
101
+ });
102
+ }
103
+ }, {
104
+ key: "onAdd",
105
+ value: function onAdd() {
106
+ var button = (0, _get2.default)((0, _getPrototypeOf2.default)(GeoLocate.prototype), "onAdd", this).call(this);
107
+ button.addEventListener('click', this.onClick);
108
+ return button;
109
+ }
110
+ }]);
111
+ return GeoLocate;
112
+ }(_buttonControl.default);
113
+ exports.default = exports.GeoLocate = GeoLocate;