@vtx/cs-map 1.0.17 → 1.0.19

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 (95) hide show
  1. package/lib/assets/people.gif +0 -0
  2. package/lib/events/index.js +4 -2
  3. package/lib/events/index.js.map +1 -1
  4. package/lib/feature-layer/FeatureLayer.js +12 -1
  5. package/lib/feature-layer/FeatureLayer.js.map +1 -1
  6. package/lib/gif-dom-layer/GifDomLayer.js +105 -0
  7. package/lib/gif-dom-layer/GifDomLayer.js.map +1 -0
  8. package/lib/gif-dom-layer/index.js +44 -0
  9. package/lib/gif-dom-layer/index.js.map +1 -0
  10. package/lib/gif-dom-layer/style/css.js.map +1 -0
  11. package/lib/gif-dom-layer/style/index.css +0 -0
  12. package/lib/gif-dom-layer/style/index.js.map +1 -0
  13. package/lib/gif-dom-layer/style/index.less +0 -0
  14. package/lib/gradation-line-layer/GradationLineLayer.js +104 -0
  15. package/lib/gradation-line-layer/GradationLineLayer.js.map +1 -0
  16. package/lib/gradation-line-layer/index.js +83 -0
  17. package/lib/gradation-line-layer/index.js.map +1 -0
  18. package/lib/gradation-line-layer/style/css.js +4 -0
  19. package/lib/gradation-line-layer/style/css.js.map +1 -0
  20. package/lib/gradation-line-layer/style/index.css +0 -0
  21. package/lib/gradation-line-layer/style/index.js +4 -0
  22. package/lib/gradation-line-layer/style/index.js.map +1 -0
  23. package/lib/gradation-line-layer/style/index.less +0 -0
  24. package/lib/highlight-layer/HighlightLayer.js +32 -0
  25. package/lib/highlight-layer/HighlightLayer.js.map +1 -1
  26. package/lib/index.js +14 -0
  27. package/lib/index.js.map +1 -1
  28. package/lib/line-flow-layer/LineFlowLayer.js.map +1 -1
  29. package/lib/line-flow-layer/index.js +4 -0
  30. package/lib/line-flow-layer/index.js.map +1 -1
  31. package/lib/map/index.js +19 -1
  32. package/lib/map/index.js.map +1 -1
  33. package/lib/map/style/index.css +1 -0
  34. package/lib/map/style/index.less +1 -0
  35. package/lib/marker/Marker.js +44 -1
  36. package/lib/marker/Marker.js.map +1 -1
  37. package/lib/marker/index.js +3 -3
  38. package/lib/marker/index.js.map +1 -1
  39. package/lib/renderer/index.js.map +1 -1
  40. package/lib/tools/base-map-switch/base/imagery/amap/AmapImageryProvider.js +52 -0
  41. package/lib/tools/base-map-switch/base/imagery/amap/AmapImageryProvider.js.map +1 -0
  42. package/lib/tools/base-map-switch/base/imagery/amap/AmapMercatorTilingScheme.js +52 -0
  43. package/lib/tools/base-map-switch/base/imagery/amap/AmapMercatorTilingScheme.js.map +1 -0
  44. package/lib/tools/base-map-switch/base/imagery/baidu/BaiduImageryProvider.js +152 -0
  45. package/lib/tools/base-map-switch/base/imagery/baidu/BaiduImageryProvider.js.map +1 -0
  46. package/lib/tools/base-map-switch/base/imagery/baidu/BaiduMercatorProjection.js +383 -0
  47. package/lib/tools/base-map-switch/base/imagery/baidu/BaiduMercatorProjection.js.map +1 -0
  48. package/lib/tools/base-map-switch/base/imagery/baidu/BaiduMercatorTilingScheme.js +125 -0
  49. package/lib/tools/base-map-switch/base/imagery/baidu/BaiduMercatorTilingScheme.js.map +1 -0
  50. package/lib/tools/base-map-switch/base/imagery/geoq/GeoQImageryProvider.js +53 -0
  51. package/lib/tools/base-map-switch/base/imagery/geoq/GeoQImageryProvider.js.map +1 -0
  52. package/lib/tools/base-map-switch/base/imagery/google/GoogleImageryProvider.js +47 -0
  53. package/lib/tools/base-map-switch/base/imagery/google/GoogleImageryProvider.js.map +1 -0
  54. package/lib/tools/base-map-switch/base/imagery/tdt/TdtImageryProvider.js +44 -0
  55. package/lib/tools/base-map-switch/base/imagery/tdt/TdtImageryProvider.js.map +1 -0
  56. package/lib/tools/base-map-switch/base/imagery/tencent/TencentImageryProvider.js +57 -0
  57. package/lib/tools/base-map-switch/base/imagery/tencent/TencentImageryProvider.js.map +1 -0
  58. package/lib/tools/base-map-switch/base/index.js +23 -0
  59. package/lib/tools/base-map-switch/base/index.js.map +1 -0
  60. package/lib/tools/base-map-switch/base/transform/CoordTransform.js +179 -0
  61. package/lib/tools/base-map-switch/base/transform/CoordTransform.js.map +1 -0
  62. package/lib/tools/index.js +9 -11
  63. package/lib/tools/index.js.map +1 -1
  64. package/lib/tools/layer-control/index.js.map +1 -0
  65. package/lib/tools/map-search/Select/index.js.map +1 -0
  66. package/lib/tools/map-search/Select/style/css.js +4 -0
  67. package/lib/tools/map-search/Select/style/css.js.map +1 -0
  68. package/lib/tools/map-search/Select/style/index.js +4 -0
  69. package/lib/tools/map-search/Select/style/index.js.map +1 -0
  70. package/lib/tools/map-search/index.js.map +1 -0
  71. package/lib/tools/tools-item/index.js +7 -0
  72. package/lib/tools/tools-item/index.js.map +1 -1
  73. package/lib/weather/Weather.js +175 -0
  74. package/lib/weather/Weather.js.map +1 -0
  75. package/lib/weather/index.js +37 -0
  76. package/lib/weather/index.js.map +1 -0
  77. package/lib/weather/style/css.js +8 -0
  78. package/lib/weather/style/css.js.map +1 -0
  79. package/lib/weather/style/index.css +60 -0
  80. package/lib/weather/style/index.js +8 -0
  81. package/lib/weather/style/index.js.map +1 -0
  82. package/lib/weather/style/index.less +63 -0
  83. package/package.json +2 -1
  84. package/lib/tools/layer/index.js.map +0 -1
  85. package/lib/tools/search/Select/index.js.map +0 -1
  86. package/lib/tools/search/Select/style/css.js.map +0 -1
  87. package/lib/tools/search/Select/style/index.js.map +0 -1
  88. package/lib/tools/search/index.js.map +0 -1
  89. /package/lib/{tools/search/Select → gif-dom-layer}/style/css.js +0 -0
  90. /package/lib/{tools/search/Select → gif-dom-layer}/style/index.js +0 -0
  91. /package/lib/tools/{layer → layer-control}/index.js +0 -0
  92. /package/lib/tools/{search → map-search}/Select/index.js +0 -0
  93. /package/lib/tools/{search → map-search}/Select/style/index.css +0 -0
  94. /package/lib/tools/{search → map-search}/Select/style/index.less +0 -0
  95. /package/lib/tools/{search → map-search}/index.js +0 -0
@@ -0,0 +1,383 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
10
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
11
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
13
+ /**
14
+ * @Author: Caven
15
+ * @Date: 2021-01-30 22:41:41
16
+ */
17
+
18
+ var EARTH_RADIUS = 6370996.81;
19
+ var MC_BAND = [12890594.86, 8362377.87, 5591021, 3481989.83, 1678043.12, 0];
20
+ var LL_BAND = [75, 60, 45, 30, 15, 0];
21
+ var MC2LL = [[1.410526172116255e-8, 8.98305509648872e-6, -1.9939833816331, 2.009824383106796e2, -1.872403703815547e2, 91.6087516669843, -23.38765649603339, 2.57121317296198, -0.03801003308653, 1.73379812e7], [-7.435856389565537e-9, 8.983055097726239e-6, -0.78625201886289, 96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737, -16.50741931063887, 2.28786674699375, 1.026014486e7], [-3.030883460898826e-8, 8.98305509983578e-6, 0.30071316287616, 59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908, -3.29883767235584, 0.32710905363475, 6.85681737e6], [-1.981981304930552e-8, 8.983055099779535e-6, 0.03278182852591, 40.31678527705744, 0.65659298677277, -4.44255534477492, 0.85341911805263, 0.12923347998204, -0.04625736007561, 4.48277706e6], [3.09191371068437e-9, 8.983055096812155e-6, 0.00006995724062, 23.10934304144901, -0.00023663490511, -0.6321817810242, -0.00663494467273, 0.03430082397953, -0.00466043876332, 2.5551644e6], [2.890871144776878e-9, 8.983055095805407e-6, -0.00000003068298, 7.47137025468032, -0.00000353937994, -0.02145144861037, -0.00001234426596, 0.00010322952773, -0.00000323890364, 8.260885e5]];
22
+ var LL2MC = [[-0.0015702102444, 1.113207020616939e5, 1.704480524535203e15, -1.033898737604234e16, 2.611266785660388e16, -3.51496691766537e16, 2.659570071840392e16, -1.072501245418824e16, 1.800819912950474e15, 82.5], [8.277824516172526e-4, 1.113207020463578e5, 6.477955746671608e8, -4.082003173641316e9, 1.077490566351142e10, -1.517187553151559e10, 1.205306533862167e10, -5.124939663577472e9, 9.133119359512032e8, 67.5], [0.00337398766765, 1.113207020202162e5, 4.481351045890365e6, -2.339375119931662e7, 7.968221547186455e7, -1.159649932797253e8, 9.723671115602145e7, -4.366194633752821e7, 8.477230501135234e6, 52.5], [0.00220636496208, 1.113207020209128e5, 5.175186112841131e4, 3.796837749470245e6, 9.920137397791013e5, -1.22195221711287e6, 1.340652697009075e6, -6.209436990984312e5, 1.444169293806241e5, 37.5], [-3.441963504368392e-4, 1.113207020576856e5, 2.782353980772752e2, 2.485758690035394e6, 6.070750963243378e3, 5.482118345352118e4, 9.540606633304236e3, -2.71055326746645e3, 1.405483844121726e3, 22.5], [-3.218135878613132e-4, 1.113207020701615e5, 0.00369383431289, 8.237256402795718e5, 0.46104986909093, 2.351343141331292e3, 1.58060784298199, 8.77738589078284, 0.37238884252424, 7.45]];
23
+ var BaiduMercatorProjection = /*#__PURE__*/function () {
24
+ function BaiduMercatorProjection() {
25
+ _classCallCheck(this, BaiduMercatorProjection);
26
+ this.isWgs84 = false;
27
+ }
28
+ _createClass(BaiduMercatorProjection, [{
29
+ key: "getDistanceByMC",
30
+ value: function getDistanceByMC(point1, point2) {
31
+ if (!point1 || !point2) {
32
+ return 0;
33
+ }
34
+ point1 = this.convertMC2LL(point1);
35
+ if (!point1) {
36
+ return 0;
37
+ }
38
+ var x1 = this.toRadians(point1['lng']);
39
+ var y1 = this.toRadians(point1['lat']);
40
+ point2 = this.convertMC2LL(point2);
41
+ if (!point2) {
42
+ return 0;
43
+ }
44
+ var x2 = this.toRadians(point2['lng']);
45
+ var y2 = this.toRadians(point2['lat']);
46
+ return this.getDistance(x1, x2, y1, y2);
47
+ }
48
+
49
+ /**
50
+ * 根据经纬度坐标计算两点间距离;
51
+ * @param point1
52
+ * @param point2
53
+ * @returns {number|*} 返回两点间的距离
54
+ */
55
+ }, {
56
+ key: "getDistanceByLL",
57
+ value: function getDistanceByLL(point1, point2) {
58
+ if (!point1 || !point2) {
59
+ return 0;
60
+ }
61
+ point1['lng'] = this.getLoop(point1['lng'], -180, 180);
62
+ point1['lat'] = this.getRange(point1['lat'], -74, 74);
63
+ point2['lng'] = this.getLoop(point2['lng'], -180, 180);
64
+ point2['lat'] = this.getRange(point2['lat'], -74, 74);
65
+ var x1 = this.toRadians(point1['lng']);
66
+ var y1 = this.toRadians(point1['lat']);
67
+ var x2 = this.toRadians(point2['lng']);
68
+ var y2 = this.toRadians(point2['lat']);
69
+ return this.getDistance(x1, x2, y1, y2);
70
+ }
71
+
72
+ /**
73
+ * 平面直角坐标转换成经纬度坐标;
74
+ * @param point
75
+ * @returns {Point|{lng: number, lat: number}}
76
+ */
77
+ }, {
78
+ key: "convertMC2LL",
79
+ value: function convertMC2LL(point) {
80
+ if (!point) {
81
+ return {
82
+ lng: 0,
83
+ lat: 0
84
+ };
85
+ }
86
+ var lnglat = {};
87
+ if (this.isWgs84) {
88
+ lnglat.lng = point.lng / 20037508.34 * 180;
89
+ var mmy = point.lat / 20037508.34 * 180;
90
+ lnglat.lat = 180 / Math.PI * (2 * Math.atan(Math.exp(mmy * Math.PI / 180)) - Math.PI / 2);
91
+ return {
92
+ lng: lnglat['lng'].toFixed(6),
93
+ lat: lnglat['lat'].toFixed(6)
94
+ };
95
+ }
96
+ var temp = {
97
+ lng: Math.abs(point['lng']),
98
+ lat: Math.abs(point['lat'])
99
+ };
100
+ var factor = undefined;
101
+ for (var i = 0; i < MC_BAND.length; i++) {
102
+ if (temp['lat'] >= MC_BAND[i]) {
103
+ factor = MC2LL[i];
104
+ break;
105
+ }
106
+ }
107
+ lnglat = this.convertor(point, factor);
108
+ return {
109
+ lng: lnglat['lng'].toFixed(6),
110
+ lat: lnglat['lat'].toFixed(6)
111
+ };
112
+ }
113
+
114
+ /**
115
+ * 经纬度坐标转换成平面直角坐标;
116
+ * @param point 经纬度坐标
117
+ * @returns {{lng: number, lat: number}|*}
118
+ */
119
+ }, {
120
+ key: "convertLL2MC",
121
+ value: function convertLL2MC(point) {
122
+ if (!point) {
123
+ return {
124
+ lng: 0,
125
+ lat: 0
126
+ };
127
+ }
128
+ if (point['lng'] > 180 || point['lng'] < -180 || point['lat'] > 90 || point['lat'] < -90) {
129
+ return point;
130
+ }
131
+ if (this.isWgs84) {
132
+ var mercator = {};
133
+ var earthRad = 6378137.0;
134
+ mercator.lng = point.lng * Math.PI / 180 * earthRad;
135
+ var a = point.lat * Math.PI / 180;
136
+ mercator.lat = earthRad / 2 * Math.log((1.0 + Math.sin(a)) / (1.0 - Math.sin(a)));
137
+ return {
138
+ lng: parseFloat(mercator['lng'].toFixed(2)),
139
+ lat: parseFloat(mercator['lat'].toFixed(2))
140
+ };
141
+ }
142
+ point['lng'] = this.getLoop(point['lng'], -180, 180);
143
+ point['lat'] = this.getRange(point['lat'], -74, 74);
144
+ var temp = {
145
+ lng: point['lng'],
146
+ lat: point['lat']
147
+ };
148
+ var factor = undefined;
149
+ for (var i = 0; i < LL_BAND.length; i++) {
150
+ if (temp['lat'] >= LL_BAND[i]) {
151
+ factor = LL2MC[i];
152
+ break;
153
+ }
154
+ }
155
+ if (!factor) {
156
+ for (var _i = 0; _i < LL_BAND.length; _i++) {
157
+ if (temp['lat'] <= -LL_BAND[_i]) {
158
+ factor = LL2MC[_i];
159
+ break;
160
+ }
161
+ }
162
+ }
163
+ var mc = this.convertor(point, factor);
164
+ return {
165
+ lng: parseFloat(mc['lng'].toFixed(2)),
166
+ lat: parseFloat(mc['lat'].toFixed(2))
167
+ };
168
+ }
169
+
170
+ /**
171
+ *
172
+ * @param fromPoint
173
+ * @param factor
174
+ * @returns {{lng: *, lat: *}}
175
+ */
176
+ }, {
177
+ key: "convertor",
178
+ value: function convertor(fromPoint, factor) {
179
+ if (!fromPoint || !factor) {
180
+ return {
181
+ lng: 0,
182
+ lat: 0
183
+ };
184
+ }
185
+ var x = factor[0] + factor[1] * Math.abs(fromPoint['lng']);
186
+ var temp = Math.abs(fromPoint['lat']) / factor[9];
187
+ var y = factor[2] + factor[3] * temp + factor[4] * temp * temp + factor[5] * temp * temp * temp + factor[6] * temp * temp * temp * temp + factor[7] * temp * temp * temp * temp * temp + factor[8] * temp * temp * temp * temp * temp * temp;
188
+ x *= fromPoint['lng'] < 0 ? -1 : 1;
189
+ y *= fromPoint['lat'] < 0 ? -1 : 1;
190
+ return {
191
+ lng: x,
192
+ lat: y
193
+ };
194
+ }
195
+
196
+ /**
197
+ *
198
+ * @param x1
199
+ * @param x2
200
+ * @param y1
201
+ * @param y2
202
+ * @returns {number}
203
+ */
204
+ }, {
205
+ key: "getDistance",
206
+ value: function getDistance(x1, x2, y1, y2) {
207
+ return EARTH_RADIUS * Math.acos(Math.sin(y1) * Math.sin(y2) + Math.cos(y1) * Math.cos(y2) * Math.cos(x2 - x1));
208
+ }
209
+
210
+ /**
211
+ *
212
+ * @param deg
213
+ * @returns {number}
214
+ */
215
+ }, {
216
+ key: "toRadians",
217
+ value: function toRadians(deg) {
218
+ return Math.PI * deg / 180;
219
+ }
220
+
221
+ /**
222
+ *
223
+ * @param rad
224
+ * @returns {number}
225
+ */
226
+ }, {
227
+ key: "toDegrees",
228
+ value: function toDegrees(rad) {
229
+ return 180 * rad / Math.PI;
230
+ }
231
+
232
+ /**
233
+ *
234
+ * @param v
235
+ * @param a
236
+ * @param b
237
+ * @returns {number}
238
+ */
239
+ }, {
240
+ key: "getRange",
241
+ value: function getRange(v, a, b) {
242
+ if (a != null) {
243
+ v = Math.max(v, a);
244
+ }
245
+ if (b != null) {
246
+ v = Math.min(v, b);
247
+ }
248
+ return v;
249
+ }
250
+
251
+ /**
252
+ *
253
+ * @param v
254
+ * @param a
255
+ * @param b
256
+ * @returns {*}
257
+ */
258
+ }, {
259
+ key: "getLoop",
260
+ value: function getLoop(v, a, b) {
261
+ while (v > b) {
262
+ v -= b - a;
263
+ }
264
+ while (v < a) {
265
+ v += b - a;
266
+ }
267
+ return v;
268
+ }
269
+
270
+ /**
271
+ *
272
+ * @param point
273
+ * @returns {{lng: number, lat: number}|*}
274
+ */
275
+ }, {
276
+ key: "lngLatToMercator",
277
+ value: function lngLatToMercator(point) {
278
+ return this.convertLL2MC(point);
279
+ }
280
+
281
+ /**
282
+ *
283
+ * @param point
284
+ * @returns {{x: (number|*), y: (number|*)}}
285
+ */
286
+ }, {
287
+ key: "lngLatToPoint",
288
+ value: function lngLatToPoint(point) {
289
+ var mercator = this.convertLL2MC(point);
290
+ return {
291
+ x: mercator['lng'],
292
+ y: mercator['lat']
293
+ };
294
+ }
295
+
296
+ /**
297
+ * 墨卡托变换至经纬度
298
+ * @param point 墨卡托
299
+ * @returns Point 经纬度
300
+ */
301
+ }, {
302
+ key: "mercatorToLngLat",
303
+ value: function mercatorToLngLat(point) {
304
+ return this.convertMC2LL(point);
305
+ }
306
+
307
+ /**
308
+ * 平面到球面坐标
309
+ * @param point 平面坐标
310
+ * @returns Point 球面坐标
311
+ */
312
+ }, {
313
+ key: "pointToLngLat",
314
+ value: function pointToLngLat(point) {
315
+ var mercator = {
316
+ lng: point.x,
317
+ lat: point.y
318
+ };
319
+ return this.convertMC2LL(mercator);
320
+ }
321
+
322
+ /**
323
+ * 地理坐标转换至像素坐标
324
+ * @param point 地理坐标
325
+ * @param zoom 级别
326
+ * @param mapCenter 地图中心点,注意为了保证没有误差,这里需要传递墨卡托坐标
327
+ * @param mapSize 地图容器大小
328
+ */
329
+ }, {
330
+ key: "pointToPixel",
331
+ value: function pointToPixel(point, zoom, mapCenter, mapSize) {
332
+ if (!point) {
333
+ return;
334
+ }
335
+ point = this.lngLatToMercator(point);
336
+ var zoomUnits = this.getZoomUnits(zoom);
337
+ var x = Math.round((point['lng'] - mapCenter['lng']) / zoomUnits + mapSize.width / 2);
338
+ var y = Math.round((mapCenter['lat'] - point['lat']) / zoomUnits + mapSize.height / 2);
339
+ return {
340
+ x: x,
341
+ y: y
342
+ };
343
+ }
344
+
345
+ /**
346
+ * 像素坐标转换至地理坐标
347
+ * @param pixel 像素坐标
348
+ * @param zoom 级别
349
+ * @param mapCenter 地图中心点,注意为了保证没有误差,这里需要传递墨卡托坐标
350
+ * @param mapSize 地图容器大小
351
+ */
352
+ }, {
353
+ key: "pixelToPoint",
354
+ value: function pixelToPoint(pixel, zoom, mapCenter, mapSize) {
355
+ if (!pixel) {
356
+ return;
357
+ }
358
+ var zoomUnits = this.getZoomUnits(zoom);
359
+ var lng = mapCenter['lng'] + zoomUnits * (pixel.x - mapSize.width / 2);
360
+ var lat = mapCenter['lat'] - zoomUnits * (pixel.y - mapSize.height / 2);
361
+ var point = {
362
+ lng: lng,
363
+ lat: lat
364
+ };
365
+ return this.mercatorToLngLat(point);
366
+ }
367
+
368
+ /**
369
+ *
370
+ * @param zoom
371
+ * @returns {number}
372
+ */
373
+ }, {
374
+ key: "getZoomUnits",
375
+ value: function getZoomUnits(zoom) {
376
+ return Math.pow(2, 18 - zoom);
377
+ }
378
+ }]);
379
+ return BaiduMercatorProjection;
380
+ }();
381
+ var _default = BaiduMercatorProjection;
382
+ exports["default"] = _default;
383
+ //# sourceMappingURL=BaiduMercatorProjection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaiduMercatorProjection.js","names":["EARTH_RADIUS","MC_BAND","LL_BAND","MC2LL","LL2MC","BaiduMercatorProjection","_classCallCheck","isWgs84","_createClass","key","value","getDistanceByMC","point1","point2","convertMC2LL","x1","toRadians","y1","x2","y2","getDistance","getDistanceByLL","getLoop","getRange","point","lng","lat","lnglat","mmy","Math","PI","atan","exp","toFixed","temp","abs","factor","undefined","i","length","convertor","convertLL2MC","mercator","earthRad","a","log","sin","parseFloat","mc","fromPoint","x","y","acos","cos","deg","toDegrees","rad","v","b","max","min","lngLatToMercator","lngLatToPoint","mercatorToLngLat","pointToLngLat","pointToPixel","zoom","mapCenter","mapSize","zoomUnits","getZoomUnits","round","width","height","pixelToPoint","pixel","pow","_default","exports"],"sources":["tools/base-map-switch/base/imagery/baidu/BaiduMercatorProjection.js"],"sourcesContent":["/**\n * @Author: Caven\n * @Date: 2021-01-30 22:41:41\n */\n\nconst EARTH_RADIUS = 6370996.81\nconst MC_BAND = [12890594.86, 8362377.87, 5591021, 3481989.83, 1678043.12, 0]\nconst LL_BAND = [75, 60, 45, 30, 15, 0]\nconst MC2LL = [\n [\n 1.410526172116255e-8,\n 8.98305509648872e-6,\n -1.9939833816331,\n 2.009824383106796e2,\n -1.872403703815547e2,\n 91.6087516669843,\n -23.38765649603339,\n 2.57121317296198,\n -0.03801003308653,\n 1.73379812e7\n ],\n [\n -7.435856389565537e-9,\n 8.983055097726239e-6,\n -0.78625201886289,\n 96.32687599759846,\n -1.85204757529826,\n -59.36935905485877,\n 47.40033549296737,\n -16.50741931063887,\n 2.28786674699375,\n 1.026014486e7\n ],\n [\n -3.030883460898826e-8,\n 8.98305509983578e-6,\n 0.30071316287616,\n 59.74293618442277,\n 7.357984074871,\n -25.38371002664745,\n 13.45380521110908,\n -3.29883767235584,\n 0.32710905363475,\n 6.85681737e6\n ],\n [\n -1.981981304930552e-8,\n 8.983055099779535e-6,\n 0.03278182852591,\n 40.31678527705744,\n 0.65659298677277,\n -4.44255534477492,\n 0.85341911805263,\n 0.12923347998204,\n -0.04625736007561,\n 4.48277706e6\n ],\n [\n 3.09191371068437e-9,\n 8.983055096812155e-6,\n 0.00006995724062,\n 23.10934304144901,\n -0.00023663490511,\n -0.6321817810242,\n -0.00663494467273,\n 0.03430082397953,\n -0.00466043876332,\n 2.5551644e6\n ],\n [\n 2.890871144776878e-9,\n 8.983055095805407e-6,\n -0.00000003068298,\n 7.47137025468032,\n -0.00000353937994,\n -0.02145144861037,\n -0.00001234426596,\n 0.00010322952773,\n -0.00000323890364,\n 8.260885e5\n ]\n]\nconst LL2MC = [\n [\n -0.0015702102444,\n 1.113207020616939e5,\n 1.704480524535203e15,\n -1.033898737604234e16,\n 2.611266785660388e16,\n -3.51496691766537e16,\n 2.659570071840392e16,\n -1.072501245418824e16,\n 1.800819912950474e15,\n 82.5\n ],\n [\n 8.277824516172526e-4,\n 1.113207020463578e5,\n 6.477955746671608e8,\n -4.082003173641316e9,\n 1.077490566351142e10,\n -1.517187553151559e10,\n 1.205306533862167e10,\n -5.124939663577472e9,\n 9.133119359512032e8,\n 67.5\n ],\n [\n 0.00337398766765,\n 1.113207020202162e5,\n 4.481351045890365e6,\n -2.339375119931662e7,\n 7.968221547186455e7,\n -1.159649932797253e8,\n 9.723671115602145e7,\n -4.366194633752821e7,\n 8.477230501135234e6,\n 52.5\n ],\n [\n 0.00220636496208,\n 1.113207020209128e5,\n 5.175186112841131e4,\n 3.796837749470245e6,\n 9.920137397791013e5,\n -1.22195221711287e6,\n 1.340652697009075e6,\n -6.209436990984312e5,\n 1.444169293806241e5,\n 37.5\n ],\n [\n -3.441963504368392e-4,\n 1.113207020576856e5,\n 2.782353980772752e2,\n 2.485758690035394e6,\n 6.070750963243378e3,\n 5.482118345352118e4,\n 9.540606633304236e3,\n -2.71055326746645e3,\n 1.405483844121726e3,\n 22.5\n ],\n [\n -3.218135878613132e-4,\n 1.113207020701615e5,\n 0.00369383431289,\n 8.237256402795718e5,\n 0.46104986909093,\n 2.351343141331292e3,\n 1.58060784298199,\n 8.77738589078284,\n 0.37238884252424,\n 7.45\n ]\n]\n\nclass BaiduMercatorProjection {\n constructor() {\n this.isWgs84 = false\n }\n\n getDistanceByMC(point1, point2) {\n if (!point1 || !point2) {\n return 0\n }\n point1 = this.convertMC2LL(point1)\n if (!point1) {\n return 0\n }\n let x1 = this.toRadians(point1['lng'])\n let y1 = this.toRadians(point1['lat'])\n point2 = this.convertMC2LL(point2)\n if (!point2) {\n return 0\n }\n let x2 = this.toRadians(point2['lng'])\n let y2 = this.toRadians(point2['lat'])\n return this.getDistance(x1, x2, y1, y2)\n }\n\n /**\n * 根据经纬度坐标计算两点间距离;\n * @param point1\n * @param point2\n * @returns {number|*} 返回两点间的距离\n */\n getDistanceByLL(point1, point2) {\n if (!point1 || !point2) {\n return 0\n }\n point1['lng'] = this.getLoop(point1['lng'], -180, 180)\n point1['lat'] = this.getRange(point1['lat'], -74, 74)\n point2['lng'] = this.getLoop(point2['lng'], -180, 180)\n point2['lat'] = this.getRange(point2['lat'], -74, 74)\n let x1 = this.toRadians(point1['lng'])\n let y1 = this.toRadians(point1['lat'])\n let x2 = this.toRadians(point2['lng'])\n let y2 = this.toRadians(point2['lat'])\n return this.getDistance(x1, x2, y1, y2)\n }\n\n /**\n * 平面直角坐标转换成经纬度坐标;\n * @param point\n * @returns {Point|{lng: number, lat: number}}\n */\n convertMC2LL(point) {\n if (!point) {\n return { lng: 0, lat: 0 }\n }\n let lnglat = {}\n if (this.isWgs84) {\n lnglat.lng = (point.lng / 20037508.34) * 180\n let mmy = (point.lat / 20037508.34) * 180\n lnglat.lat =\n (180 / Math.PI) *\n (2 * Math.atan(Math.exp((mmy * Math.PI) / 180)) - Math.PI / 2)\n return {\n lng: lnglat['lng'].toFixed(6),\n lat: lnglat['lat'].toFixed(6)\n }\n }\n\n let temp = {\n lng: Math.abs(point['lng']),\n lat: Math.abs(point['lat'])\n }\n\n let factor = undefined\n for (let i = 0; i < MC_BAND.length; i++) {\n if (temp['lat'] >= MC_BAND[i]) {\n factor = MC2LL[i]\n break\n }\n }\n lnglat = this.convertor(point, factor)\n return {\n lng: lnglat['lng'].toFixed(6),\n lat: lnglat['lat'].toFixed(6)\n }\n }\n\n /**\n * 经纬度坐标转换成平面直角坐标;\n * @param point 经纬度坐标\n * @returns {{lng: number, lat: number}|*}\n */\n convertLL2MC(point) {\n if (!point) {\n return { lng: 0, lat: 0 }\n }\n if (\n point['lng'] > 180 ||\n point['lng'] < -180 ||\n point['lat'] > 90 ||\n point['lat'] < -90\n ) {\n return point\n }\n\n if (this.isWgs84) {\n let mercator = {}\n let earthRad = 6378137.0\n mercator.lng = ((point.lng * Math.PI) / 180) * earthRad\n let a = (point.lat * Math.PI) / 180\n mercator.lat =\n (earthRad / 2) * Math.log((1.0 + Math.sin(a)) / (1.0 - Math.sin(a)))\n\n return {\n lng: parseFloat(mercator['lng'].toFixed(2)),\n lat: parseFloat(mercator['lat'].toFixed(2))\n }\n }\n\n point['lng'] = this.getLoop(point['lng'], -180, 180)\n point['lat'] = this.getRange(point['lat'], -74, 74)\n let temp = { lng: point['lng'], lat: point['lat'] }\n let factor = undefined\n for (let i = 0; i < LL_BAND.length; i++) {\n if (temp['lat'] >= LL_BAND[i]) {\n factor = LL2MC[i]\n break\n }\n }\n if (!factor) {\n for (let i = 0; i < LL_BAND.length; i++) {\n if (temp['lat'] <= -LL_BAND[i]) {\n factor = LL2MC[i]\n break\n }\n }\n }\n let mc = this.convertor(point, factor)\n return {\n lng: parseFloat(mc['lng'].toFixed(2)),\n lat: parseFloat(mc['lat'].toFixed(2))\n }\n }\n\n /**\n *\n * @param fromPoint\n * @param factor\n * @returns {{lng: *, lat: *}}\n */\n convertor(fromPoint, factor) {\n if (!fromPoint || !factor) {\n return { lng: 0, lat: 0 }\n }\n let x = factor[0] + factor[1] * Math.abs(fromPoint['lng'])\n let temp = Math.abs(fromPoint['lat']) / factor[9]\n let y =\n factor[2] +\n factor[3] * temp +\n factor[4] * temp * temp +\n factor[5] * temp * temp * temp +\n factor[6] * temp * temp * temp * temp +\n factor[7] * temp * temp * temp * temp * temp +\n factor[8] * temp * temp * temp * temp * temp * temp\n x *= fromPoint['lng'] < 0 ? -1 : 1\n y *= fromPoint['lat'] < 0 ? -1 : 1\n return {\n lng: x,\n lat: y\n }\n }\n\n /**\n *\n * @param x1\n * @param x2\n * @param y1\n * @param y2\n * @returns {number}\n */\n getDistance(x1, x2, y1, y2) {\n return (\n EARTH_RADIUS *\n Math.acos(\n Math.sin(y1) * Math.sin(y2) +\n Math.cos(y1) * Math.cos(y2) * Math.cos(x2 - x1)\n )\n )\n }\n\n /**\n *\n * @param deg\n * @returns {number}\n */\n toRadians(deg) {\n return (Math.PI * deg) / 180\n }\n\n /**\n *\n * @param rad\n * @returns {number}\n */\n toDegrees(rad) {\n return (180 * rad) / Math.PI\n }\n\n /**\n *\n * @param v\n * @param a\n * @param b\n * @returns {number}\n */\n getRange(v, a, b) {\n if (a != null) {\n v = Math.max(v, a)\n }\n if (b != null) {\n v = Math.min(v, b)\n }\n return v\n }\n\n /**\n *\n * @param v\n * @param a\n * @param b\n * @returns {*}\n */\n getLoop(v, a, b) {\n while (v > b) {\n v -= b - a\n }\n while (v < a) {\n v += b - a\n }\n return v\n }\n\n /**\n *\n * @param point\n * @returns {{lng: number, lat: number}|*}\n */\n lngLatToMercator(point) {\n return this.convertLL2MC(point)\n }\n\n /**\n *\n * @param point\n * @returns {{x: (number|*), y: (number|*)}}\n */\n lngLatToPoint(point) {\n let mercator = this.convertLL2MC(point)\n return {\n x: mercator['lng'],\n y: mercator['lat']\n }\n }\n\n /**\n * 墨卡托变换至经纬度\n * @param point 墨卡托\n * @returns Point 经纬度\n */\n mercatorToLngLat(point) {\n return this.convertMC2LL(point)\n }\n\n /**\n * 平面到球面坐标\n * @param point 平面坐标\n * @returns Point 球面坐标\n */\n pointToLngLat(point) {\n let mercator = { lng: point.x, lat: point.y }\n return this.convertMC2LL(mercator)\n }\n\n /**\n * 地理坐标转换至像素坐标\n * @param point 地理坐标\n * @param zoom 级别\n * @param mapCenter 地图中心点,注意为了保证没有误差,这里需要传递墨卡托坐标\n * @param mapSize 地图容器大小\n */\n pointToPixel(point, zoom, mapCenter, mapSize) {\n if (!point) {\n return\n }\n point = this.lngLatToMercator(point)\n let zoomUnits = this.getZoomUnits(zoom)\n let x = Math.round(\n (point['lng'] - mapCenter['lng']) / zoomUnits + mapSize.width / 2\n )\n let y = Math.round(\n (mapCenter['lat'] - point['lat']) / zoomUnits + mapSize.height / 2\n )\n return { x, y }\n }\n\n /**\n * 像素坐标转换至地理坐标\n * @param pixel 像素坐标\n * @param zoom 级别\n * @param mapCenter 地图中心点,注意为了保证没有误差,这里需要传递墨卡托坐标\n * @param mapSize 地图容器大小\n */\n pixelToPoint(pixel, zoom, mapCenter, mapSize) {\n if (!pixel) {\n return\n }\n let zoomUnits = this.getZoomUnits(zoom)\n let lng = mapCenter['lng'] + zoomUnits * (pixel.x - mapSize.width / 2)\n let lat = mapCenter['lat'] - zoomUnits * (pixel.y - mapSize.height / 2)\n let point = { lng, lat }\n return this.mercatorToLngLat(point)\n }\n\n /**\n *\n * @param zoom\n * @returns {number}\n */\n getZoomUnits(zoom) {\n return Math.pow(2, 18 - zoom)\n }\n}\n\nexport default BaiduMercatorProjection\n"],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var Cesium = _interopRequireWildcard(require("cesium"));
9
+ var _BaiduMercatorProjection = _interopRequireDefault(require("./BaiduMercatorProjection"));
10
+ var _CoordTransform = _interopRequireDefault(require("../../transform/CoordTransform"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
16
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
17
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
18
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
19
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
20
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
21
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
22
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
23
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
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
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } /**
26
+ * @Author: Caven
27
+ * @Date: 2021-01-31 19:22:04
28
+ */
29
+ var BaiduMercatorTilingScheme = /*#__PURE__*/function (_Cesium$WebMercatorTi) {
30
+ _inherits(BaiduMercatorTilingScheme, _Cesium$WebMercatorTi);
31
+ var _super = _createSuper(BaiduMercatorTilingScheme);
32
+ function BaiduMercatorTilingScheme(options) {
33
+ var _this;
34
+ _classCallCheck(this, BaiduMercatorTilingScheme);
35
+ _this = _super.call(this, options);
36
+ var projection = new _BaiduMercatorProjection["default"]();
37
+ _this._projection.project = function (cartographic, result) {
38
+ result = result || {};
39
+ result = _CoordTransform["default"].WGS84ToGCJ02(Cesium.Math.toDegrees(cartographic.longitude), Cesium.Math.toDegrees(cartographic.latitude));
40
+ result = _CoordTransform["default"].GCJ02ToBD09(result[0], result[1]);
41
+ result[0] = Math.min(result[0], 180);
42
+ result[0] = Math.max(result[0], -180);
43
+ result[1] = Math.min(result[1], 74.000022);
44
+ result[1] = Math.max(result[1], -71.988531);
45
+ result = projection.lngLatToPoint({
46
+ lng: result[0],
47
+ lat: result[1]
48
+ });
49
+ return new Cesium.Cartesian2(result.x, result.y);
50
+ };
51
+ _this._projection.unproject = function (cartesian, result) {
52
+ result = result || {};
53
+ result = projection.mercatorToLngLat({
54
+ lng: cartesian.x,
55
+ lat: cartesian.y
56
+ });
57
+ result = _CoordTransform["default"].BD09ToGCJ02(result.lng, result.lat);
58
+ result = _CoordTransform["default"].GCJ02ToWGS84(result[0], result[1]);
59
+ return new Cesium.Cartographic(Cesium.Math.toRadians(result[0]), Cesium.Math.toRadians(result[1]));
60
+ };
61
+ _this.resolutions = options.resolutions || [];
62
+ return _this;
63
+ }
64
+
65
+ /**
66
+ *
67
+ * @param x
68
+ * @param y
69
+ * @param level
70
+ * @param result
71
+ * @returns {module:cesium.Rectangle|*}
72
+ */
73
+ _createClass(BaiduMercatorTilingScheme, [{
74
+ key: "tileXYToNativeRectangle",
75
+ value: function tileXYToNativeRectangle(x, y, level, result) {
76
+ var tileWidth = this.resolutions[level];
77
+ var west = x * tileWidth;
78
+ var east = (x + 1) * tileWidth;
79
+ var north = ((y = -y) + 1) * tileWidth;
80
+ var south = y * tileWidth;
81
+ if (!Cesium.defined(result)) {
82
+ return new Cesium.Rectangle(west, south, east, north);
83
+ }
84
+ result.west = west;
85
+ result.south = south;
86
+ result.east = east;
87
+ result.north = north;
88
+ return result;
89
+ }
90
+
91
+ /**
92
+ *
93
+ * @param position
94
+ * @param level
95
+ * @param result
96
+ * @returns {undefined|*}
97
+ */
98
+ }, {
99
+ key: "positionToTileXY",
100
+ value: function positionToTileXY(position, level, result) {
101
+ var rectangle = this._rectangle;
102
+ if (!Cesium.Rectangle.contains(rectangle, position)) {
103
+ return undefined;
104
+ }
105
+ var projection = this._projection;
106
+ var webMercatorPosition = projection.project(position);
107
+ if (!Cesium.defined(webMercatorPosition)) {
108
+ return undefined;
109
+ }
110
+ var tileWidth = this.resolutions[level];
111
+ var xTileCoordinate = Math.floor(webMercatorPosition.x / tileWidth);
112
+ var yTileCoordinate = -Math.floor(webMercatorPosition.y / tileWidth);
113
+ if (!Cesium.defined(result)) {
114
+ return new Cesium.Cartesian2(xTileCoordinate, yTileCoordinate);
115
+ }
116
+ result.x = xTileCoordinate;
117
+ result.y = yTileCoordinate;
118
+ return result;
119
+ }
120
+ }]);
121
+ return BaiduMercatorTilingScheme;
122
+ }(Cesium.WebMercatorTilingScheme);
123
+ var _default = BaiduMercatorTilingScheme;
124
+ exports["default"] = _default;
125
+ //# sourceMappingURL=BaiduMercatorTilingScheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaiduMercatorTilingScheme.js","names":["Cesium","_interopRequireWildcard","require","_BaiduMercatorProjection","_interopRequireDefault","_CoordTransform","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","_toPropertyKey","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","Number","_inherits","subClass","superClass","create","constructor","value","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","BaiduMercatorTilingScheme","_Cesium$WebMercatorTi","_super","options","_this","projection","BaiduMercatorProjection","_projection","project","cartographic","CoordTransform","WGS84ToGCJ02","Math","toDegrees","longitude","latitude","GCJ02ToBD09","min","max","lngLatToPoint","lng","lat","Cartesian2","x","y","unproject","cartesian","mercatorToLngLat","BD09ToGCJ02","GCJ02ToWGS84","Cartographic","toRadians","resolutions","tileXYToNativeRectangle","level","tileWidth","west","east","north","south","defined","Rectangle","positionToTileXY","position","rectangle","_rectangle","contains","webMercatorPosition","xTileCoordinate","floor","yTileCoordinate","WebMercatorTilingScheme","_default","exports"],"sources":["tools/base-map-switch/base/imagery/baidu/BaiduMercatorTilingScheme.js"],"sourcesContent":["/**\n * @Author: Caven\n * @Date: 2021-01-31 19:22:04\n */\nimport * as Cesium from 'cesium';\nimport BaiduMercatorProjection from './BaiduMercatorProjection'\nimport CoordTransform from '../../transform/CoordTransform'\n\nclass BaiduMercatorTilingScheme extends Cesium.WebMercatorTilingScheme {\n constructor(options) {\n super(options)\n let projection = new BaiduMercatorProjection()\n this._projection.project = function(cartographic, result) {\n result = result || {}\n result = CoordTransform.WGS84ToGCJ02(\n Cesium.Math.toDegrees(cartographic.longitude),\n Cesium.Math.toDegrees(cartographic.latitude)\n )\n result = CoordTransform.GCJ02ToBD09(result[0], result[1])\n result[0] = Math.min(result[0], 180)\n result[0] = Math.max(result[0], -180)\n result[1] = Math.min(result[1], 74.000022)\n result[1] = Math.max(result[1], -71.988531)\n result = projection.lngLatToPoint({\n lng: result[0],\n lat: result[1]\n })\n return new Cesium.Cartesian2(result.x, result.y)\n }\n this._projection.unproject = function(cartesian, result) {\n result = result || {}\n result = projection.mercatorToLngLat({\n lng: cartesian.x,\n lat: cartesian.y\n })\n result = CoordTransform.BD09ToGCJ02(result.lng, result.lat)\n result = CoordTransform.GCJ02ToWGS84(result[0], result[1])\n return new Cesium.Cartographic(\n Cesium.Math.toRadians(result[0]),\n Cesium.Math.toRadians(result[1])\n )\n }\n this.resolutions = options.resolutions || []\n }\n\n /**\n *\n * @param x\n * @param y\n * @param level\n * @param result\n * @returns {module:cesium.Rectangle|*}\n */\n tileXYToNativeRectangle(x, y, level, result) {\n const tileWidth = this.resolutions[level]\n const west = x * tileWidth\n const east = (x + 1) * tileWidth\n const north = ((y = -y) + 1) * tileWidth\n const south = y * tileWidth\n\n if (!Cesium.defined(result)) {\n return new Cesium.Rectangle(west, south, east, north)\n }\n\n result.west = west\n result.south = south\n result.east = east\n result.north = north\n return result\n }\n\n /**\n *\n * @param position\n * @param level\n * @param result\n * @returns {undefined|*}\n */\n positionToTileXY(position, level, result) {\n const rectangle = this._rectangle\n if (!Cesium.Rectangle.contains(rectangle, position)) {\n return undefined\n }\n const projection = this._projection\n const webMercatorPosition = projection.project(position)\n if (!Cesium.defined(webMercatorPosition)) {\n return undefined\n }\n const tileWidth = this.resolutions[level]\n const xTileCoordinate = Math.floor(webMercatorPosition.x / tileWidth)\n const yTileCoordinate = -Math.floor(webMercatorPosition.y / tileWidth)\n if (!Cesium.defined(result)) {\n return new Cesium.Cartesian2(xTileCoordinate, yTileCoordinate)\n }\n result.x = xTileCoordinate\n result.y = yTileCoordinate\n return result\n }\n}\n\nexport default BaiduMercatorTilingScheme\n"],"mappings":"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"}