deeptwins-engine-3d 0.1.76 → 0.2.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.
- package/dist/assets/Build/DeepTwins/Image/noise.png +0 -0
- package/dist/assets/Build/DeepTwins/Workers/CustomRasterClip.worker.js +1 -2
- package/dist/assets/Build/DeepTwins/Workers/MvtVector.worker.js +1 -1
- package/dist/assets/Build/Map3d/ThirdParty/Workers/zip-web-worker.js +640 -0
- package/dist/assets/Build/Map3d/ThirdParty/wasm_splats_bg.wasm +0 -0
- package/dist/assets/Build/Map3d/ThirdParty/zip-module.wasm +0 -0
- package/dist/assets/Build/Map3d/Workers/chunk-27NG6PQR.js +456 -0
- package/dist/assets/Build/Map3d/Workers/chunk-2JVMMMWT.js +353 -0
- package/dist/assets/Build/Map3d/Workers/chunk-2Y2XYQCS.js +1481 -0
- package/dist/assets/Build/Map3d/Workers/chunk-34RF3V5G.js +220 -0
- package/dist/assets/Build/Map3d/Workers/chunk-35H7BYLJ.js +1800 -0
- package/dist/assets/Build/Map3d/Workers/chunk-57OGEF5V.js +435 -0
- package/dist/assets/Build/Map3d/Workers/chunk-5PX3DYJA.js +196 -0
- package/dist/assets/Build/Map3d/Workers/chunk-7B5XGQRN.js +171 -0
- package/dist/assets/Build/Map3d/Workers/chunk-ATLWOZFF.js +39 -0
- package/dist/assets/Build/Map3d/Workers/chunk-BMSUECTA.js +1055 -0
- package/dist/assets/Build/Map3d/Workers/chunk-C6IA4TKW.js +476 -0
- package/dist/assets/Build/Map3d/Workers/chunk-CZ44I32U.js +157 -0
- package/dist/assets/Build/Map3d/Workers/chunk-DE6UV44R.js +122 -0
- package/dist/assets/Build/Map3d/Workers/chunk-DUCCKVOG.js +834 -0
- package/dist/assets/Build/Map3d/Workers/chunk-EBJBPIYX.js +239 -0
- package/dist/assets/Build/Map3d/Workers/chunk-EYSYQ2R6.js +138 -0
- package/dist/assets/Build/Map3d/Workers/chunk-FMCAAUQI.js +368 -0
- package/dist/assets/Build/Map3d/Workers/chunk-GMYZNRRQ.js +2717 -0
- package/dist/assets/Build/Map3d/Workers/chunk-GWPNZZV4.js +781 -0
- package/dist/assets/Build/Map3d/Workers/chunk-HLP2U4KW.js +758 -0
- package/dist/assets/Build/Map3d/Workers/chunk-HSJSUPQV.js +500 -0
- package/dist/assets/Build/Map3d/Workers/chunk-I73Q3AG7.js +58 -0
- package/dist/assets/Build/Map3d/Workers/chunk-IMZ4YIMV.js +511 -0
- package/dist/assets/Build/Map3d/Workers/chunk-IZSK4DVF.js +421 -0
- package/dist/assets/Build/Map3d/Workers/chunk-JKLMRPKK.js +75 -0
- package/dist/assets/Build/Map3d/Workers/chunk-KGM345JM.js +691 -0
- package/dist/assets/Build/Map3d/Workers/chunk-L4IR5U4G.js +102 -0
- package/dist/assets/Build/Map3d/Workers/chunk-MG4EVQH2.js +44 -0
- package/dist/assets/Build/Map3d/Workers/chunk-NXWEFAZJ.js +300 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PDFAJISJ.js +59 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PHWZFJR5.js +100 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PLE7CHBE.js +101 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PN3GIZ5Q.js +163 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PXL5XLHV.js +1073 -0
- package/dist/assets/Build/Map3d/Workers/chunk-QYXOF5JC.js +959 -0
- package/dist/assets/Build/Map3d/Workers/chunk-R2LIFXV3.js +115 -0
- package/dist/assets/Build/Map3d/Workers/chunk-R4W6IRJZ.js +10357 -0
- package/dist/assets/Build/Map3d/Workers/chunk-R5PZXG56.js +1258 -0
- package/dist/assets/Build/Map3d/Workers/chunk-RZQLZIUI.js +629 -0
- package/dist/assets/Build/Map3d/Workers/chunk-SIBDD6Y4.js +390 -0
- package/dist/assets/Build/Map3d/Workers/chunk-U5NN6JTQ.js +398 -0
- package/dist/assets/Build/Map3d/Workers/chunk-UA5RPPP3.js +73 -0
- package/dist/assets/Build/Map3d/Workers/chunk-UXLKFS3C.js +305 -0
- package/dist/assets/Build/Map3d/Workers/chunk-VUX4BQIM.js +37 -0
- package/dist/assets/Build/Map3d/Workers/chunk-WJDUUUJS.js +684 -0
- package/dist/assets/Build/Map3d/Workers/chunk-XBJOJHWX.js +139 -0
- package/dist/assets/Build/Map3d/Workers/chunk-XJDMTNKD.js +634 -0
- package/dist/assets/Build/Map3d/Workers/chunk-XUCXZZE5.js +963 -0
- package/dist/assets/Build/Map3d/Workers/chunk-YIKGVMJ5.js +287 -0
- package/dist/assets/Build/Map3d/Workers/chunk-YTNCIBPQ.js +262 -0
- package/dist/assets/Build/Map3d/Workers/chunk-ZMDUYETO.js +55 -0
- package/dist/assets/Build/Map3d/Workers/chunk-ZW52HXFN.js +2857 -0
- package/dist/esm/analyze/LineOfSightAnalysis.js +1 -326
- package/dist/esm/analyze/SubmergenceAnalysis.js +1 -137
- package/dist/esm/analyze/SunLightAnalysis.js +1 -91
- package/dist/esm/analyze/TerrainExcavationAnalysis.js +1 -612
- package/dist/esm/analyze/ViewshedAnalysis.js +1 -292
- package/dist/esm/cameraControl/ModelRoamHistory.js +1 -639
- package/dist/esm/cameraControl/ModelRoamRealTime.js +1 -874
- package/dist/esm/cameraControl/Roam.js +1 -418
- package/dist/esm/cameraControl/Rotate.js +1 -134
- package/dist/esm/cameraControl/RotateInPlace.js +1 -99
- package/dist/esm/constant.d.ts +90 -0
- package/dist/esm/constant.js +1 -1287
- package/dist/esm/deepTwins/index.js +1 -121
- package/dist/esm/drawCommand/index.js +1 -3
- package/dist/esm/drawCommand/viewShed/Event.js +1 -142
- package/dist/esm/drawCommand/viewShed/RectangularSensorPrimitive.js +1 -1306
- package/dist/esm/drawCommand/viewShed/ViewShadowPrimitive.js +1 -66
- package/dist/esm/drawCommand/viewShed/ViewShedAnalyserLayer.js +1 -466
- package/dist/esm/drawCommand/viewShed/ViewShedMap.js +1 -1238
- package/dist/esm/drawCommand/viewShed/config.js +1 -21
- package/dist/esm/drawCommand/volumeCloud/GeometryPrimitive.js +1 -89
- package/dist/esm/drawCommand/volumeCloud/ImprovedNoise.js +1 -112
- package/dist/esm/drawCommand/volumeCloud/VolumeClouds.js +1 -91
- package/dist/esm/drawer/algorithm.js +1 -314
- package/dist/esm/drawer/common.js +1 -965
- package/dist/esm/drawer/coordinate.js +1 -184
- package/dist/esm/drawer/index.d.ts +1 -1
- package/dist/esm/drawer/index.js +1 -688
- package/dist/esm/drawer/plotUtil.js +1 -266
- package/dist/esm/drawer/shape/Assemble.js +1 -415
- package/dist/esm/drawer/shape/AttackArrow.js +1 -442
- package/dist/esm/drawer/shape/BaseShape.js +1 -383
- package/dist/esm/drawer/shape/Bow.js +1 -375
- package/dist/esm/drawer/shape/Circle.js +1 -461
- package/dist/esm/drawer/shape/Curve.js +1 -386
- package/dist/esm/drawer/shape/DragPoint.js +1 -211
- package/dist/esm/drawer/shape/Elliptic.js +1 -491
- package/dist/esm/drawer/shape/Formation.js +1 -395
- package/dist/esm/drawer/shape/PincerArrow.js +1 -445
- package/dist/esm/drawer/shape/Point.js +1 -131
- package/dist/esm/drawer/shape/Polygon.js +1 -368
- package/dist/esm/drawer/shape/Polyline.js +1 -325
- package/dist/esm/drawer/shape/RegularPolygon.js +1 -468
- package/dist/esm/drawer/shape/RightAngleArrow.js +1 -423
- package/dist/esm/drawer/shape/Sector.js +1 -568
- package/dist/esm/drawer/shape/StraightArrow.js +1 -422
- package/dist/esm/drawer/shape/SwallowtailArrow.js +1 -438
- package/dist/esm/drawer/types.js +1 -11
- package/dist/esm/drawer/utils.js +1 -381
- package/dist/esm/global.css +22 -1
- package/dist/esm/graphicLayer/BaseEntity.js +1 -51
- package/dist/esm/graphicLayer/BaseLayer.js +1 -730
- package/dist/esm/graphicLayer/BasePointPrimitive.js +1 -45
- package/dist/esm/graphicLayer/BasePrimitive.js +1 -36
- package/dist/esm/graphicLayer/BasePrimitiveInstance.js +1 -37
- package/dist/esm/graphicLayer/BaseSource.d.ts +1 -1
- package/dist/esm/graphicLayer/BaseSource.js +1 -630
- package/dist/esm/graphicLayer/BillboardEntity.js +1 -106
- package/dist/esm/graphicLayer/BillboardPrimitive.js +1 -119
- package/dist/esm/graphicLayer/BoxEntity.js +1 -99
- package/dist/esm/graphicLayer/BoxPrimitive.js +1 -48
- package/dist/esm/graphicLayer/BoxPrimitiveInstance.js +1 -91
- package/dist/esm/graphicLayer/EllipseEntity.js +1 -110
- package/dist/esm/graphicLayer/EllipsePrimitive.js +1 -47
- package/dist/esm/graphicLayer/EllipsePrimitiveInstance.js +1 -98
- package/dist/esm/graphicLayer/EllipsoidEntity.js +1 -118
- package/dist/esm/graphicLayer/EllipsoidPrimitive.js +1 -48
- package/dist/esm/graphicLayer/EllipsoidPrimitiveInstance.js +1 -113
- package/dist/esm/graphicLayer/GraphicLayerCollection.js +1 -491
- package/dist/esm/graphicLayer/HtmlEntity.d.ts +4 -0
- package/dist/esm/graphicLayer/HtmlEntity.js +1 -189
- package/dist/esm/graphicLayer/LabelEntity.js +1 -110
- package/dist/esm/graphicLayer/LabelPrimitive.js +1 -127
- package/dist/esm/graphicLayer/ModelEntity.js +1 -122
- package/dist/esm/graphicLayer/ModelPrimitive.js +1 -59
- package/dist/esm/graphicLayer/ModelPrimitiveInstance.js +1 -86
- package/dist/esm/graphicLayer/PointEntity.js +1 -94
- package/dist/esm/graphicLayer/PointPrimitive.js +1 -107
- package/dist/esm/graphicLayer/PolygonEntity.js +1 -103
- package/dist/esm/graphicLayer/PolygonGroundPrimitive.js +1 -49
- package/dist/esm/graphicLayer/PolygonGroundPrimitiveImageMaterialInstance.js +1 -87
- package/dist/esm/graphicLayer/PolygonPrimitive.js +1 -60
- package/dist/esm/graphicLayer/PolygonPrimitiveImageMaterialInstance.js +1 -84
- package/dist/esm/graphicLayer/PolygonPrimitiveInstance.js +1 -101
- package/dist/esm/graphicLayer/PolylineEntity.js +1 -96
- package/dist/esm/graphicLayer/PolylineGroundPrimitive.js +1 -55
- package/dist/esm/graphicLayer/PolylineGroundPrimitiveInstance.js +1 -85
- package/dist/esm/graphicLayer/PolylinePrimitive.js +1 -53
- package/dist/esm/graphicLayer/PolylinePrimitiveInstance.js +1 -85
- package/dist/esm/graphicLayer/PolylineVolumeEntity.js +1 -105
- package/dist/esm/graphicLayer/PolylineVolumePrimitive.js +1 -47
- package/dist/esm/graphicLayer/PolylineVolumePrimitiveInstance.js +1 -94
- package/dist/esm/graphicLayer/WallEntity.js +1 -96
- package/dist/esm/graphicLayer/WallPrimitive.js +1 -47
- package/dist/esm/graphicLayer/WallPrimitiveInstance.js +1 -88
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +1 -175
- package/dist/esm/lowAltitude/BarrierLayer.js +1 -172
- package/dist/esm/lowAltitude/BaseGridMvtLayer.js +1 -122
- package/dist/esm/lowAltitude/FactorLayer.js +1 -199
- package/dist/esm/lowAltitude/FlightPlanning.js +1 -411
- package/dist/esm/lowAltitude/FlightRiskEvaluation.js +1 -543
- package/dist/esm/lowAltitude/GridDraw.js +1 -137
- package/dist/esm/lowAltitude/PoiLayer.js +1 -74
- package/dist/esm/lowAltitude/RoutePlanning.js +1 -318
- package/dist/esm/lowAltitude/VisitLayer.js +1 -180
- package/dist/esm/map/Event.js +1 -377
- package/dist/esm/map/GroundSkyBox.js +1 -166
- package/dist/esm/map/Map.js +1 -881
- package/dist/esm/map/Property.js +1 -35
- package/dist/esm/material/AtmosphericDispersion.js +1 -569
- package/dist/esm/material/GlobalVolumetricCloud.js +1 -377
- package/dist/esm/material/VolumeCloud.js +1 -115
- package/dist/esm/material/WeatherEffects.js +1 -351
- package/dist/esm/material/entity/BaseMaterialProperty.js +1 -51
- package/dist/esm/material/entity/CircleWaveMaterialProperty.js +1 -101
- package/dist/esm/material/entity/DynamicWallMaterialProperty.js +1 -101
- package/dist/esm/material/entity/ImageGlowingMaterialProperty.js +1 -89
- package/dist/esm/material/entity/ImageMaterialProperty.js +1 -34
- package/dist/esm/material/entity/PolylineTrailLinkMaterialProperty.js +1 -132
- package/dist/esm/material/primitive/BaseMaterialAppearance.js +1 -28
- package/dist/esm/material/primitive/ImageGlowingMaterialAppearance.js +1 -77
- package/dist/esm/material/primitive/ImageMaterialAppearance.js +1 -77
- package/dist/esm/measure/Area.js +1 -220
- package/dist/esm/measure/BaseDraw.js +1 -105
- package/dist/esm/measure/Distance.js +1 -223
- package/dist/esm/measure/index.js +1 -266
- package/dist/esm/measure/types.js +1 -17
- package/dist/esm/measure/utils.js +1 -319
- package/dist/esm/particle/BaseParticle.js +1 -196
- package/dist/esm/particle/FireParticle.js +1 -65
- package/dist/esm/particle/FountainParticle.js +1 -80
- package/dist/esm/particle/SmokeParticle.js +1 -65
- package/dist/esm/particle/common.js +1 -23
- package/dist/esm/particle/index.js +1 -5
- package/dist/esm/property/PositionProperty.js +1 -56
- package/dist/esm/tileLayer/ArcGisLayer.js +1 -41
- package/dist/esm/tileLayer/CustomRasterClipWorkerClient.js +1 -147
- package/dist/esm/tileLayer/CustomRasterLayer.js +1 -1136
- package/dist/esm/tileLayer/ImageryLayer.js +1 -44
- package/dist/esm/tileLayer/MvtVectorLoad.js +1 -1549
- package/dist/esm/tileLayer/MvtVectorWorkerClient.js +1 -126
- package/dist/esm/tileLayer/RasterLayer.js +1 -23
- package/dist/esm/tileLayer/WmsLayer.js +1 -26
- package/dist/esm/tileLayer/WmtsLayer.js +1 -23
- package/dist/esm/tool/BuildClampedPolygonGrid.js +1 -278
- package/dist/esm/tool/Compass.js +1 -282
- package/dist/esm/tool/PrimitiveCluster.js +1 -706
- package/dist/esm/tool/TimerInterval.js +1 -58
- package/dist/esm/tool/common.js +1 -405
- package/dist/esm/tool/fetch.js +1 -222
- package/dist/esm/tool/heatmap.js +1 -631
- package/dist/esm/tool/utils.d.ts +1 -0
- package/dist/esm/tool/utils.js +1 -501
- package/dist/esm/toolTip/index.js +1 -79
- package/dist/esm/videoFusion/BaseVideo.d.ts +7 -0
- package/dist/esm/videoFusion/BaseVideo.js +1 -330
- package/dist/esm/videoFusion/VideoProject.js +1 -230
- package/dist/esm/videoFusion/VideoTexture.js +1 -163
- package/dist/esm/visualization/BaseHeatmap.js +1 -271
- package/dist/esm/visualization/BoundaryHighlight.d.ts +136 -0
- package/dist/esm/visualization/BoundaryHighlight.js +1 -0
- package/dist/esm/visualization/DynamicWater.js +1 -289
- package/dist/esm/visualization/Frustum.js +1 -248
- package/dist/esm/visualization/Heatmap2d.js +1 -97
- package/dist/esm/visualization/Heatmap3d.js +1 -281
- package/dist/esm/visualization/MigrationEffect.js +1 -397
- package/dist/esm/visualization/PointCluster.js +1 -220
- package/dist/esm/visualization/RadarScan.js +1 -333
- package/dist/esm/visualization/SampledTerrainRiver.d.ts +180 -0
- package/dist/esm/visualization/SampledTerrainRiver.js +1 -0
- package/dist/esm/visualization/SampledTerrainWater.d.ts +170 -0
- package/dist/esm/visualization/SampledTerrainWater.js +1 -0
- package/dist/esm/visualization/WindField.d.ts +72 -0
- package/dist/esm/visualization/WindField.js +1 -0
- package/dist/esm/visualization/windCore.d.ts +161 -0
- package/dist/esm/visualization/windCore.js +8 -0
- package/dist/umd/deeptwins-engine-3d.min.css +1 -1
- package/dist/umd/deeptwins-engine-3d.min.js +1 -1
- package/package.json +6 -4
|
@@ -1,1549 +1 @@
|
|
|
1
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
4
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
5
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
6
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
7
|
-
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
8
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
9
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
10
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
11
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
12
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
13
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
14
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
15
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
16
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
17
|
-
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); }
|
|
18
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19
|
-
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); } }
|
|
20
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
21
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
22
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
23
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
24
|
-
// @ts-ignore
|
|
25
|
-
import { decodeTile } from '@deepinnet/geojson-to-mvt';
|
|
26
|
-
import * as Cesium from 'deeptwins-cesium';
|
|
27
|
-
import MvtVectorWorkerClient from "./MvtVectorWorkerClient";
|
|
28
|
-
var MVT_VECTOR_LOAD_EVENT_TYPES = ['ready', 'error', 'tileLoad', 'tileDisplay', 'tileEvict'];
|
|
29
|
-
// deeptwins-cesium 运行时暴露了 TileBoundingRegion,但声明文件里没有导出,这里补一层最小类型。
|
|
30
|
-
var CesiumRuntime = Cesium;
|
|
31
|
-
var CesiumMath = Cesium.Math;
|
|
32
|
-
function addCesiumEventListener(event, listener) {
|
|
33
|
-
return event.addEventListener(listener);
|
|
34
|
-
}
|
|
35
|
-
function removeAllEventListeners(event) {
|
|
36
|
-
var _removeAll, _ref;
|
|
37
|
-
(_removeAll = (_ref = event).removeAll) === null || _removeAll === void 0 || _removeAll.call(_ref);
|
|
38
|
-
}
|
|
39
|
-
function createListenerRegistry() {
|
|
40
|
-
return {
|
|
41
|
-
ready: [],
|
|
42
|
-
error: [],
|
|
43
|
-
tileLoad: [],
|
|
44
|
-
tileDisplay: [],
|
|
45
|
-
tileEvict: []
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// 最大并发请求数,默认 6。
|
|
50
|
-
var MAX_CONCURRENT_TILE_REQUESTS = 6;
|
|
51
|
-
|
|
52
|
-
// 矢量瓦片加载器
|
|
53
|
-
var MvtVectorLoad = /*#__PURE__*/function () {
|
|
54
|
-
function MvtVectorLoad(map) {
|
|
55
|
-
var _options$url,
|
|
56
|
-
_options$minzoom,
|
|
57
|
-
_options$maxzoom,
|
|
58
|
-
_options$maxCacheSize,
|
|
59
|
-
_options$autoDisplayL,
|
|
60
|
-
_options$decodeWithWo,
|
|
61
|
-
_options$workerUrl,
|
|
62
|
-
_this = this;
|
|
63
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
64
|
-
_classCallCheck(this, MvtVectorLoad);
|
|
65
|
-
_defineProperty(this, "_mapContext", void 0);
|
|
66
|
-
// 矢量瓦片服务 URL 模板。
|
|
67
|
-
_defineProperty(this, "url", void 0);
|
|
68
|
-
// 允许加载的最小瓦片层级。
|
|
69
|
-
// 低于该层级时不会显示,也不会发起请求。
|
|
70
|
-
_defineProperty(this, "minzoom", void 0);
|
|
71
|
-
// 允许加载的最大瓦片层级。
|
|
72
|
-
_defineProperty(this, "maximumLevel", void 0);
|
|
73
|
-
// 已加载瓦片缓存上限,默认 300。
|
|
74
|
-
_defineProperty(this, "maxCacheSize", void 0);
|
|
75
|
-
// 是否已完成初始化。
|
|
76
|
-
_defineProperty(this, "ready", void 0);
|
|
77
|
-
// 当前视角计算出的工作层级。
|
|
78
|
-
_defineProperty(this, "zoom", void 0);
|
|
79
|
-
// 当前加载器使用的 Cesium 切片方案。
|
|
80
|
-
_defineProperty(this, "tilingScheme", void 0);
|
|
81
|
-
// 初始化完成时触发的事件。
|
|
82
|
-
_defineProperty(this, "readyEvent", void 0);
|
|
83
|
-
// 请求或解析失败时触发的事件。
|
|
84
|
-
_defineProperty(this, "errorEvent", void 0);
|
|
85
|
-
// 单个瓦片加载完成时触发的事件。
|
|
86
|
-
_defineProperty(this, "tileLoadEvent", void 0);
|
|
87
|
-
// 瓦片显示状态变化时触发的事件。
|
|
88
|
-
_defineProperty(this, "tileDisplayEvent", void 0);
|
|
89
|
-
// 单个瓦片被 LRU 缓存淘汰时触发的事件。
|
|
90
|
-
_defineProperty(this, "tileEvictEvent", void 0);
|
|
91
|
-
// 当前实例是否已销毁。
|
|
92
|
-
_defineProperty(this, "_destroyed", void 0);
|
|
93
|
-
// 初始化 Promise 缓存,保证初始化过程只执行一次。
|
|
94
|
-
_defineProperty(this, "_initPromise", void 0);
|
|
95
|
-
// 第 0 层根瓦片节点。
|
|
96
|
-
_defineProperty(this, "_rootTiles", void 0);
|
|
97
|
-
// 当前帧需要更新的瓦片节点。
|
|
98
|
-
_defineProperty(this, "_tilesToUpdate", void 0);
|
|
99
|
-
// 已加载完成的瓦片缓存。
|
|
100
|
-
_defineProperty(this, "_loadedTiles", void 0);
|
|
101
|
-
// 正在请求中的瓦片 Promise,避免重复请求。
|
|
102
|
-
_defineProperty(this, "_pendingTiles", void 0);
|
|
103
|
-
// 正在执行网络请求的瓦片控制器,用于主动取消过期请求。
|
|
104
|
-
_defineProperty(this, "_pendingRequestControllers", void 0);
|
|
105
|
-
// 正在执行网络请求的瓦片对象,用于回退状态和日志定位。
|
|
106
|
-
_defineProperty(this, "_pendingRequestTiles", void 0);
|
|
107
|
-
// LRU 缓存访问顺序,越靠后表示越新。
|
|
108
|
-
_defineProperty(this, "_cacheOrder", void 0);
|
|
109
|
-
// 请求版本号,用于在清缓存后废弃旧请求结果。
|
|
110
|
-
_defineProperty(this, "_requestToken", void 0);
|
|
111
|
-
// 等待发起请求的瓦片队列,按进入顺序消费。
|
|
112
|
-
_defineProperty(this, "_requestQueue", void 0);
|
|
113
|
-
// 队列中的瓦片 key 集合,避免同一瓦片重复排队。
|
|
114
|
-
_defineProperty(this, "_queuedTileKeys", void 0);
|
|
115
|
-
// 当前已占用的请求槽位数量,限制瞬时并发数。
|
|
116
|
-
_defineProperty(this, "_activeRequestCount", void 0);
|
|
117
|
-
// 第 0 层瓦片的几何误差缓存。
|
|
118
|
-
_defineProperty(this, "_levelZeroMaximumGeometricError", void 0);
|
|
119
|
-
// 是否优先使用 Worker 解析 MVT 二进制。
|
|
120
|
-
_defineProperty(this, "_decodeWithWorker", void 0);
|
|
121
|
-
// 是否自动根据瓦片显示状态切换托管图层显隐。
|
|
122
|
-
_defineProperty(this, "_autoDisplayLayers", void 0);
|
|
123
|
-
// 自定义 Worker 地址,优先于默认 DeepTwins 静态资源地址。
|
|
124
|
-
_defineProperty(this, "_workerUrl", void 0);
|
|
125
|
-
// 延迟创建的解码 Worker 客户端。
|
|
126
|
-
_defineProperty(this, "_decodeWorkerClient", void 0);
|
|
127
|
-
// 统一事件监听注册表,供 on/off 管理解绑。
|
|
128
|
-
_defineProperty(this, "_listenerRegistry", void 0);
|
|
129
|
-
// 当前真正处于显示状态的瓦片集合。
|
|
130
|
-
_defineProperty(this, "_displayedTiles", void 0);
|
|
131
|
-
// tileLoad 返回的图层实例,按瓦片 key 自动显隐和移除。
|
|
132
|
-
_defineProperty(this, "_managedTileLayers", void 0);
|
|
133
|
-
// 是否已自动挂载到 map.scene.primitives。
|
|
134
|
-
_defineProperty(this, "_addedToMap", void 0);
|
|
135
|
-
this._mapContext = map;
|
|
136
|
-
this.url = (_options$url = options.url) !== null && _options$url !== void 0 ? _options$url : '';
|
|
137
|
-
this.minzoom = (_options$minzoom = options.minzoom) !== null && _options$minzoom !== void 0 ? _options$minzoom : 0;
|
|
138
|
-
this.maximumLevel = (_options$maxzoom = options.maxzoom) !== null && _options$maxzoom !== void 0 ? _options$maxzoom : 24;
|
|
139
|
-
this.maxCacheSize = (_options$maxCacheSize = options.maxCacheSize) !== null && _options$maxCacheSize !== void 0 ? _options$maxCacheSize : 300;
|
|
140
|
-
this._autoDisplayLayers = (_options$autoDisplayL = options.autoDisplayLayers) !== null && _options$autoDisplayL !== void 0 ? _options$autoDisplayL : true;
|
|
141
|
-
this._decodeWithWorker = (_options$decodeWithWo = options.decodeWithWorker) !== null && _options$decodeWithWo !== void 0 ? _options$decodeWithWo : true;
|
|
142
|
-
this._workerUrl = (_options$workerUrl = options.workerUrl) !== null && _options$workerUrl !== void 0 ? _options$workerUrl : '';
|
|
143
|
-
this.ready = false;
|
|
144
|
-
this.zoom = this.maximumLevel;
|
|
145
|
-
this.tilingScheme = new Cesium.WebMercatorTilingScheme();
|
|
146
|
-
this.readyEvent = new Cesium.Event();
|
|
147
|
-
this.errorEvent = new Cesium.Event();
|
|
148
|
-
this.tileLoadEvent = new Cesium.Event();
|
|
149
|
-
this.tileDisplayEvent = new Cesium.Event();
|
|
150
|
-
this.tileEvictEvent = new Cesium.Event();
|
|
151
|
-
this._destroyed = false;
|
|
152
|
-
this._initPromise = null;
|
|
153
|
-
this._rootTiles = [];
|
|
154
|
-
this._tilesToUpdate = [];
|
|
155
|
-
this._loadedTiles = {};
|
|
156
|
-
this._pendingTiles = new Map();
|
|
157
|
-
this._pendingRequestControllers = new Map();
|
|
158
|
-
this._pendingRequestTiles = new Map();
|
|
159
|
-
this._cacheOrder = new Map();
|
|
160
|
-
this._requestToken = 0;
|
|
161
|
-
this._requestQueue = [];
|
|
162
|
-
this._queuedTileKeys = new Set();
|
|
163
|
-
this._activeRequestCount = 0;
|
|
164
|
-
this._levelZeroMaximumGeometricError = null;
|
|
165
|
-
this._decodeWorkerClient = null;
|
|
166
|
-
this._listenerRegistry = createListenerRegistry();
|
|
167
|
-
this._displayedTiles = new Map();
|
|
168
|
-
this._managedTileLayers = new Map();
|
|
169
|
-
this._addedToMap = false;
|
|
170
|
-
this._addToMap();
|
|
171
|
-
var autoInit = function autoInit() {
|
|
172
|
-
_this.init().catch(function () {
|
|
173
|
-
return undefined;
|
|
174
|
-
});
|
|
175
|
-
};
|
|
176
|
-
if (typeof requestAnimationFrame === 'function') {
|
|
177
|
-
requestAnimationFrame(autoInit);
|
|
178
|
-
return;
|
|
179
|
-
}
|
|
180
|
-
Promise.resolve().then(autoInit);
|
|
181
|
-
}
|
|
182
|
-
_createClass(MvtVectorLoad, [{
|
|
183
|
-
key: "getMap",
|
|
184
|
-
value: function getMap() {
|
|
185
|
-
return this._mapContext.getMap();
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
// 构造后自动把当前 primitive 加到场景里。
|
|
189
|
-
}, {
|
|
190
|
-
key: "_addToMap",
|
|
191
|
-
value: function _addToMap() {
|
|
192
|
-
var map = this.getMap();
|
|
193
|
-
if (!map || this._addedToMap) {
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
if (typeof map.isDestroyed === 'function' && map.isDestroyed()) {
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
map.scene.primitives.add(this);
|
|
200
|
-
this._addedToMap = true;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
// 销毁时自动从场景里移除,兼容外部仍然显式调用 remove 的场景。
|
|
204
|
-
}, {
|
|
205
|
-
key: "_removeFromMap",
|
|
206
|
-
value: function _removeFromMap() {
|
|
207
|
-
var map = this.getMap();
|
|
208
|
-
var addedToMap = this._addedToMap;
|
|
209
|
-
this._addedToMap = false;
|
|
210
|
-
if (!map || !addedToMap) {
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
if (typeof map.isDestroyed === 'function' && map.isDestroyed()) {
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
map.scene.primitives.remove(this);
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
// 初始化加载器,返回同一个初始化 Promise。
|
|
220
|
-
}, {
|
|
221
|
-
key: "init",
|
|
222
|
-
value: function init() {
|
|
223
|
-
if (!this._initPromise) {
|
|
224
|
-
this._initPromise = this._doInit();
|
|
225
|
-
}
|
|
226
|
-
return this._initPromise;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
// 统一监听入口,返回订阅对象。
|
|
230
|
-
}, {
|
|
231
|
-
key: "on",
|
|
232
|
-
value: function on(type, handler) {
|
|
233
|
-
var _this2 = this;
|
|
234
|
-
var event = this._getEventByType(type);
|
|
235
|
-
var wrapped = this._wrapEventHandler(type, handler);
|
|
236
|
-
var listener = {
|
|
237
|
-
original: handler,
|
|
238
|
-
wrapped: wrapped,
|
|
239
|
-
remove: function remove() {
|
|
240
|
-
return undefined;
|
|
241
|
-
},
|
|
242
|
-
removed: false
|
|
243
|
-
};
|
|
244
|
-
listener.remove = addCesiumEventListener(event, listener.wrapped);
|
|
245
|
-
this._listenerRegistry[type].push(listener);
|
|
246
|
-
return {
|
|
247
|
-
off: function off() {
|
|
248
|
-
_this2._removeRegisteredListener(type, listener);
|
|
249
|
-
}
|
|
250
|
-
};
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
// tileLoad 支持返回图层实例,由加载器自动托管显隐和销毁。
|
|
254
|
-
}, {
|
|
255
|
-
key: "_wrapEventHandler",
|
|
256
|
-
value: function _wrapEventHandler(type, handler) {
|
|
257
|
-
var _this3 = this;
|
|
258
|
-
if (type !== 'tileLoad') {
|
|
259
|
-
return handler;
|
|
260
|
-
}
|
|
261
|
-
var tileLoadHandler = handler;
|
|
262
|
-
return function (tile) {
|
|
263
|
-
var result = tileLoadHandler(tile);
|
|
264
|
-
if (result && _typeof(result) === 'object' && 'then' in result) {
|
|
265
|
-
return Promise.resolve(result).then(function (resolvedResult) {
|
|
266
|
-
_this3._registerManagedTileLayers(tile, resolvedResult);
|
|
267
|
-
_this3._syncTileDisplayState(_this3._tilesToUpdate);
|
|
268
|
-
return resolvedResult;
|
|
269
|
-
}).catch(function (error) {
|
|
270
|
-
throw _this3._emitError(_this3._toError(error, 'tileLoad 监听回调执行失败'));
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
_this3._registerManagedTileLayers(tile, result);
|
|
274
|
-
_this3._syncTileDisplayState(_this3._tilesToUpdate);
|
|
275
|
-
return result;
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
// 统一解绑入口,按注册顺序移除首个匹配监听。
|
|
280
|
-
}, {
|
|
281
|
-
key: "off",
|
|
282
|
-
value: function off(type, handler) {
|
|
283
|
-
var listeners = this._listenerRegistry[type];
|
|
284
|
-
var index = listeners.findIndex(function (listener) {
|
|
285
|
-
return listener.original === handler && !listener.removed;
|
|
286
|
-
});
|
|
287
|
-
if (index === -1) {
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
290
|
-
var _listeners$splice = listeners.splice(index, 1),
|
|
291
|
-
_listeners$splice2 = _slicedToArray(_listeners$splice, 1),
|
|
292
|
-
listener = _listeners$splice2[0];
|
|
293
|
-
if (!listener) {
|
|
294
|
-
return;
|
|
295
|
-
}
|
|
296
|
-
listener.removed = true;
|
|
297
|
-
listener.remove();
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
// 根据事件类型返回底层 Cesium.Event。
|
|
301
|
-
}, {
|
|
302
|
-
key: "_getEventByType",
|
|
303
|
-
value: function _getEventByType(type) {
|
|
304
|
-
switch (type) {
|
|
305
|
-
case 'ready':
|
|
306
|
-
return this.readyEvent;
|
|
307
|
-
case 'error':
|
|
308
|
-
return this.errorEvent;
|
|
309
|
-
case 'tileLoad':
|
|
310
|
-
return this.tileLoadEvent;
|
|
311
|
-
case 'tileDisplay':
|
|
312
|
-
return this.tileDisplayEvent;
|
|
313
|
-
case 'tileEvict':
|
|
314
|
-
return this.tileEvictEvent;
|
|
315
|
-
default:
|
|
316
|
-
throw this._createInvalidEventTypeError(String(type));
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
// 非法事件类型统一走错误事件并抛出异常。
|
|
321
|
-
}, {
|
|
322
|
-
key: "_createInvalidEventTypeError",
|
|
323
|
-
value: function _createInvalidEventTypeError(type) {
|
|
324
|
-
return this._emitError(new Error("\u4E0D\u652F\u6301\u7684\u4E8B\u4EF6\u7C7B\u578B \"".concat(type, "\"\uFF0C\u53EF\u9009\u503C\uFF1A").concat(MVT_VECTOR_LOAD_EVENT_TYPES.join('、'))));
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
// 移除指定注册监听,并同步更新注册表。
|
|
328
|
-
}, {
|
|
329
|
-
key: "_removeRegisteredListener",
|
|
330
|
-
value: function _removeRegisteredListener(type, listener) {
|
|
331
|
-
if (listener.removed) {
|
|
332
|
-
return;
|
|
333
|
-
}
|
|
334
|
-
listener.removed = true;
|
|
335
|
-
var listeners = this._listenerRegistry[type];
|
|
336
|
-
var index = listeners.indexOf(listener);
|
|
337
|
-
if (index !== -1) {
|
|
338
|
-
listeners.splice(index, 1);
|
|
339
|
-
}
|
|
340
|
-
listener.remove();
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
// 清空统一监听注册表,避免 destroy 后仍持有外部回调引用。
|
|
344
|
-
}, {
|
|
345
|
-
key: "_clearListenerRegistry",
|
|
346
|
-
value: function _clearListenerRegistry() {
|
|
347
|
-
for (var _i = 0, _MVT_VECTOR_LOAD_EVEN = MVT_VECTOR_LOAD_EVENT_TYPES; _i < _MVT_VECTOR_LOAD_EVEN.length; _i++) {
|
|
348
|
-
var type = _MVT_VECTOR_LOAD_EVEN[_i];
|
|
349
|
-
var listeners = this._listenerRegistry[type];
|
|
350
|
-
var _iterator = _createForOfIteratorHelper(listeners),
|
|
351
|
-
_step;
|
|
352
|
-
try {
|
|
353
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
354
|
-
var listener = _step.value;
|
|
355
|
-
listener.removed = true;
|
|
356
|
-
}
|
|
357
|
-
} catch (err) {
|
|
358
|
-
_iterator.e(err);
|
|
359
|
-
} finally {
|
|
360
|
-
_iterator.f();
|
|
361
|
-
}
|
|
362
|
-
listeners.length = 0;
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
// 执行实际初始化流程。
|
|
367
|
-
}, {
|
|
368
|
-
key: "_doInit",
|
|
369
|
-
value: function () {
|
|
370
|
-
var _doInit2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
371
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
372
|
-
while (1) switch (_context.prev = _context.next) {
|
|
373
|
-
case 0:
|
|
374
|
-
this._validateOptions();
|
|
375
|
-
this._createRootTiles();
|
|
376
|
-
this.ready = true;
|
|
377
|
-
this.readyEvent.raiseEvent(this);
|
|
378
|
-
return _context.abrupt("return", this);
|
|
379
|
-
case 5:
|
|
380
|
-
case "end":
|
|
381
|
-
return _context.stop();
|
|
382
|
-
}
|
|
383
|
-
}, _callee, this);
|
|
384
|
-
}));
|
|
385
|
-
function _doInit() {
|
|
386
|
-
return _doInit2.apply(this, arguments);
|
|
387
|
-
}
|
|
388
|
-
return _doInit;
|
|
389
|
-
}() // 校验外部传入的配置是否合法。
|
|
390
|
-
}, {
|
|
391
|
-
key: "_validateOptions",
|
|
392
|
-
value: function _validateOptions() {
|
|
393
|
-
if (!this.url) {
|
|
394
|
-
throw this._emitError(new Error('请传入 url 参数'));
|
|
395
|
-
}
|
|
396
|
-
if (!this.url.includes('{z}') || !this.url.includes('{x}') || !this.url.includes('{y}')) {
|
|
397
|
-
throw this._emitError(new Error('url 必须包含 {z}、{x}、{y} 占位符'));
|
|
398
|
-
}
|
|
399
|
-
if (this.minzoom < 0 || this.maximumLevel < this.minzoom) {
|
|
400
|
-
throw this._emitError(new Error('minzoom/maxzoom 配置无效'));
|
|
401
|
-
}
|
|
402
|
-
if (!Number.isSafeInteger(this.maxCacheSize) || this.maxCacheSize <= 0) {
|
|
403
|
-
throw this._emitError(new Error('maxCacheSize 必须是大于 0 的整数'));
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
// 统一抛出错误并派发错误事件。
|
|
408
|
-
}, {
|
|
409
|
-
key: "_emitError",
|
|
410
|
-
value: function _emitError(error) {
|
|
411
|
-
this.errorEvent.raiseEvent(error);
|
|
412
|
-
return error;
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
// 判断错误是否来自 AbortController 主动取消。
|
|
416
|
-
}, {
|
|
417
|
-
key: "_isAbortError",
|
|
418
|
-
value: function _isAbortError(error) {
|
|
419
|
-
return error instanceof Error && error.name === 'AbortError';
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
// 让瓦片进入新的加载批次,并返回本次批次号用于并发回写保护。
|
|
423
|
-
}, {
|
|
424
|
-
key: "_markTileLoading",
|
|
425
|
-
value: function _markTileLoading(tile) {
|
|
426
|
-
tile.requestVersion += 1;
|
|
427
|
-
tile.state = 'loading';
|
|
428
|
-
return tile.requestVersion;
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
// 让瓦片回到未加载状态,并废弃此前尚未完成的批次回调。
|
|
432
|
-
}, {
|
|
433
|
-
key: "_resetTileRequestState",
|
|
434
|
-
value: function _resetTileRequestState(tile) {
|
|
435
|
-
tile.requestVersion += 1;
|
|
436
|
-
tile.state = 'none';
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
// 创建第 0 层根瓦片,作为后续遍历入口。
|
|
440
|
-
}, {
|
|
441
|
-
key: "_createRootTiles",
|
|
442
|
-
value: function _createRootTiles() {
|
|
443
|
-
if (this._rootTiles.length > 0) {
|
|
444
|
-
return;
|
|
445
|
-
}
|
|
446
|
-
var numX = this.tilingScheme.getNumberOfXTilesAtLevel(0);
|
|
447
|
-
var numY = this.tilingScheme.getNumberOfYTilesAtLevel(0);
|
|
448
|
-
for (var y = 0; y < numY; y += 1) {
|
|
449
|
-
for (var x = 0; x < numX; x += 1) {
|
|
450
|
-
var _tile = new VectorLoadTile({
|
|
451
|
-
x: x,
|
|
452
|
-
y: y,
|
|
453
|
-
z: 0,
|
|
454
|
-
tilingScheme: this.tilingScheme,
|
|
455
|
-
parent: this
|
|
456
|
-
});
|
|
457
|
-
this._rootTiles.push(_tile);
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
// 生成瓦片缓存键。
|
|
463
|
-
}, {
|
|
464
|
-
key: "_getTileKey",
|
|
465
|
-
value: function _getTileKey(x, y, z) {
|
|
466
|
-
return "".concat(x, ",").concat(y, ",").concat(z);
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
// 更新瓦片缓存访问顺序,使当前 key 成为最近使用项。
|
|
470
|
-
}, {
|
|
471
|
-
key: "_touchTileCache",
|
|
472
|
-
value: function _touchTileCache(key) {
|
|
473
|
-
this._cacheOrder.delete(key);
|
|
474
|
-
this._cacheOrder.set(key, true);
|
|
475
|
-
}
|
|
476
|
-
|
|
477
|
-
// 当缓存超过上限时,按 LRU 顺序淘汰最久未使用的瓦片。
|
|
478
|
-
}, {
|
|
479
|
-
key: "_pruneLoadedTiles",
|
|
480
|
-
value: function _pruneLoadedTiles() {
|
|
481
|
-
var evictedTiles = [];
|
|
482
|
-
var protectedTileKeys = new Set([].concat(_toConsumableArray(this._displayedTiles.keys()), _toConsumableArray(this._tilesToUpdate.map(function (tile) {
|
|
483
|
-
return tile.key;
|
|
484
|
-
}))));
|
|
485
|
-
while (this._cacheOrder.size > this.maxCacheSize) {
|
|
486
|
-
var oldestKey = void 0;
|
|
487
|
-
var _iterator2 = _createForOfIteratorHelper(this._cacheOrder.keys()),
|
|
488
|
-
_step2;
|
|
489
|
-
try {
|
|
490
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
491
|
-
var key = _step2.value;
|
|
492
|
-
if (!protectedTileKeys.has(key)) {
|
|
493
|
-
oldestKey = key;
|
|
494
|
-
break;
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
|
-
} catch (err) {
|
|
498
|
-
_iterator2.e(err);
|
|
499
|
-
} finally {
|
|
500
|
-
_iterator2.f();
|
|
501
|
-
}
|
|
502
|
-
if (typeof oldestKey !== 'string') {
|
|
503
|
-
break;
|
|
504
|
-
}
|
|
505
|
-
this._cacheOrder.delete(oldestKey);
|
|
506
|
-
var loadedTile = this._loadedTiles[oldestKey];
|
|
507
|
-
if (!loadedTile) {
|
|
508
|
-
continue;
|
|
509
|
-
}
|
|
510
|
-
delete this._loadedTiles[oldestKey];
|
|
511
|
-
this._displayedTiles.delete(oldestKey);
|
|
512
|
-
evictedTiles.push({
|
|
513
|
-
key: oldestKey,
|
|
514
|
-
x: loadedTile.x,
|
|
515
|
-
y: loadedTile.y,
|
|
516
|
-
z: loadedTile.z
|
|
517
|
-
});
|
|
518
|
-
}
|
|
519
|
-
this._resetTileStatesByKeys(evictedTiles.map(function (tile) {
|
|
520
|
-
return tile.key;
|
|
521
|
-
}));
|
|
522
|
-
for (var _i2 = 0, _evictedTiles = evictedTiles; _i2 < _evictedTiles.length; _i2++) {
|
|
523
|
-
var _tile2 = _evictedTiles[_i2];
|
|
524
|
-
this.tileEvictEvent.raiseEvent(_tile2);
|
|
525
|
-
this._removeManagedTileLayers(_tile2.key);
|
|
526
|
-
}
|
|
527
|
-
}
|
|
528
|
-
|
|
529
|
-
// 根据当前视锥和 SSE 结果,筛出这一帧需要继续加载的瓦片。
|
|
530
|
-
}, {
|
|
531
|
-
key: "_getTilesToUpdate",
|
|
532
|
-
value: function _getTilesToUpdate(frameState) {
|
|
533
|
-
var _this4 = this;
|
|
534
|
-
var queue = _toConsumableArray(this._rootTiles);
|
|
535
|
-
var tilesToUpdate = this._tilesToUpdate;
|
|
536
|
-
var zoom = this.maximumLevel;
|
|
537
|
-
var nearDist = Number.POSITIVE_INFINITY;
|
|
538
|
-
var getScreenSpaceError = function getScreenSpaceError(currentFrameState, tile) {
|
|
539
|
-
return _this4._getScreenSpaceError(currentFrameState, tile);
|
|
540
|
-
};
|
|
541
|
-
var visitor = {
|
|
542
|
-
visitChildren: function visitChildren(tile) {
|
|
543
|
-
if (tile.z >= _this4.maximumLevel) {
|
|
544
|
-
if (tile.distanceToCamera < nearDist) {
|
|
545
|
-
nearDist = tile.distanceToCamera;
|
|
546
|
-
zoom = tile.z;
|
|
547
|
-
}
|
|
548
|
-
tilesToUpdate.push(tile);
|
|
549
|
-
return;
|
|
550
|
-
}
|
|
551
|
-
if (tile.children.length === 0) {
|
|
552
|
-
tile.createChildren();
|
|
553
|
-
}
|
|
554
|
-
var _iterator3 = _createForOfIteratorHelper(tile.children),
|
|
555
|
-
_step3;
|
|
556
|
-
try {
|
|
557
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
558
|
-
var child = _step3.value;
|
|
559
|
-
queue.push(child);
|
|
560
|
-
}
|
|
561
|
-
} catch (err) {
|
|
562
|
-
_iterator3.e(err);
|
|
563
|
-
} finally {
|
|
564
|
-
_iterator3.f();
|
|
565
|
-
}
|
|
566
|
-
},
|
|
567
|
-
accept: function accept(tile) {
|
|
568
|
-
if (tile.distanceToCamera < nearDist) {
|
|
569
|
-
nearDist = tile.distanceToCamera;
|
|
570
|
-
zoom = tile.z;
|
|
571
|
-
}
|
|
572
|
-
tilesToUpdate.push(tile);
|
|
573
|
-
}
|
|
574
|
-
};
|
|
575
|
-
tilesToUpdate.length = 0;
|
|
576
|
-
for (var index = 0; index < queue.length; index += 1) {
|
|
577
|
-
var _tile3 = queue[index];
|
|
578
|
-
_tile3.visit(frameState, visitor, getScreenSpaceError);
|
|
579
|
-
}
|
|
580
|
-
this.zoom = zoom;
|
|
581
|
-
return tilesToUpdate;
|
|
582
|
-
}
|
|
583
|
-
|
|
584
|
-
// 把运行时瓦片对象转换为显示状态事件所需的最小数据。
|
|
585
|
-
}, {
|
|
586
|
-
key: "_toDisplayedTileState",
|
|
587
|
-
value: function _toDisplayedTileState(tile) {
|
|
588
|
-
return {
|
|
589
|
-
key: tile.key,
|
|
590
|
-
x: tile.x,
|
|
591
|
-
y: tile.y,
|
|
592
|
-
z: tile.z
|
|
593
|
-
};
|
|
594
|
-
}
|
|
595
|
-
|
|
596
|
-
// 判断缓存中是否已持有指定瓦片的数据内容。
|
|
597
|
-
}, {
|
|
598
|
-
key: "_isTileLoaded",
|
|
599
|
-
value: function _isTileLoaded(key) {
|
|
600
|
-
return Boolean(this._loadedTiles[key]);
|
|
601
|
-
}
|
|
602
|
-
|
|
603
|
-
// 判断 ancestor 是否为 descendant 的同一瓦片或祖先瓦片。
|
|
604
|
-
}, {
|
|
605
|
-
key: "_isSameOrAncestorTile",
|
|
606
|
-
value: function _isSameOrAncestorTile(ancestor, descendant) {
|
|
607
|
-
if (ancestor.z > descendant.z) {
|
|
608
|
-
return false;
|
|
609
|
-
}
|
|
610
|
-
var levelDelta = descendant.z - ancestor.z;
|
|
611
|
-
return descendant.x >> levelDelta === ancestor.x && descendant.y >> levelDelta === ancestor.y;
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
// 四叉树瓦片的重叠关系只会出现在祖先/子孙之间。
|
|
615
|
-
}, {
|
|
616
|
-
key: "_tilesOverlap",
|
|
617
|
-
value: function _tilesOverlap(a, b) {
|
|
618
|
-
return this._isSameOrAncestorTile(a, b) || this._isSameOrAncestorTile(b, a);
|
|
619
|
-
}
|
|
620
|
-
|
|
621
|
-
// 目标瓦片尚未 ready 时,保留重叠的旧瓦片作为视觉兜底。
|
|
622
|
-
}, {
|
|
623
|
-
key: "_shouldKeepDisplayedTile",
|
|
624
|
-
value: function _shouldKeepDisplayedTile(tile, pendingTargetTiles) {
|
|
625
|
-
var _this5 = this;
|
|
626
|
-
return pendingTargetTiles.some(function (pendingTile) {
|
|
627
|
-
return _this5._tilesOverlap(tile, pendingTile);
|
|
628
|
-
});
|
|
629
|
-
}
|
|
630
|
-
|
|
631
|
-
// 旧瓦片仍在兜底时,延迟显示与其重叠的新瓦片,保证整组原子切换。
|
|
632
|
-
}, {
|
|
633
|
-
key: "_shouldDelayTargetTileDisplay",
|
|
634
|
-
value: function _shouldDelayTargetTileDisplay(tile, keptDisplayedTiles) {
|
|
635
|
-
var _this6 = this;
|
|
636
|
-
return keptDisplayedTiles.some(function (displayedTile) {
|
|
637
|
-
return displayedTile.key !== tile.key && _this6._tilesOverlap(displayedTile, tile);
|
|
638
|
-
});
|
|
639
|
-
}
|
|
640
|
-
|
|
641
|
-
// 统一派发瓦片显示状态变化事件。
|
|
642
|
-
}, {
|
|
643
|
-
key: "_raiseTileDisplayChange",
|
|
644
|
-
value: function _raiseTileDisplayChange(tile, display) {
|
|
645
|
-
this._setManagedTileLayersDisplay(tile.key, display === 'show');
|
|
646
|
-
this.tileDisplayEvent.raiseEvent(_objectSpread(_objectSpread({}, tile), {}, {
|
|
647
|
-
display: display
|
|
648
|
-
}));
|
|
649
|
-
}
|
|
650
|
-
|
|
651
|
-
// 对比目标工作集和当前显示集,只在瓦片 ready 后提交显隐切换。
|
|
652
|
-
}, {
|
|
653
|
-
key: "_syncTileDisplayState",
|
|
654
|
-
value: function _syncTileDisplayState(tilesToUpdate) {
|
|
655
|
-
var _this7 = this;
|
|
656
|
-
var nextDisplayedTiles = new Map();
|
|
657
|
-
var readyTargetTiles = [];
|
|
658
|
-
var pendingTargetTiles = [];
|
|
659
|
-
var keptDisplayedTiles = [];
|
|
660
|
-
var _iterator4 = _createForOfIteratorHelper(tilesToUpdate),
|
|
661
|
-
_step4;
|
|
662
|
-
try {
|
|
663
|
-
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
664
|
-
var _tile5 = _step4.value;
|
|
665
|
-
var tileState = this._toDisplayedTileState(_tile5);
|
|
666
|
-
if (this._isTileLoaded(_tile5.key)) {
|
|
667
|
-
readyTargetTiles.push(tileState);
|
|
668
|
-
continue;
|
|
669
|
-
}
|
|
670
|
-
pendingTargetTiles.push(tileState);
|
|
671
|
-
}
|
|
672
|
-
} catch (err) {
|
|
673
|
-
_iterator4.e(err);
|
|
674
|
-
} finally {
|
|
675
|
-
_iterator4.f();
|
|
676
|
-
}
|
|
677
|
-
this._displayedTiles.forEach(function (tile, key) {
|
|
678
|
-
if (_this7._shouldKeepDisplayedTile(tile, pendingTargetTiles)) {
|
|
679
|
-
keptDisplayedTiles.push(tile);
|
|
680
|
-
nextDisplayedTiles.set(key, tile);
|
|
681
|
-
}
|
|
682
|
-
});
|
|
683
|
-
for (var _i3 = 0, _readyTargetTiles = readyTargetTiles; _i3 < _readyTargetTiles.length; _i3++) {
|
|
684
|
-
var _tile4 = _readyTargetTiles[_i3];
|
|
685
|
-
if (this._shouldDelayTargetTileDisplay(_tile4, keptDisplayedTiles)) {
|
|
686
|
-
continue;
|
|
687
|
-
}
|
|
688
|
-
nextDisplayedTiles.set(_tile4.key, _tile4);
|
|
689
|
-
}
|
|
690
|
-
this._displayedTiles.forEach(function (tile, key) {
|
|
691
|
-
if (!nextDisplayedTiles.has(key)) {
|
|
692
|
-
_this7._raiseTileDisplayChange(tile, 'hide');
|
|
693
|
-
}
|
|
694
|
-
});
|
|
695
|
-
nextDisplayedTiles.forEach(function (tile, key) {
|
|
696
|
-
if (!_this7._displayedTiles.has(key)) {
|
|
697
|
-
_this7._raiseTileDisplayChange(tile, 'show');
|
|
698
|
-
}
|
|
699
|
-
});
|
|
700
|
-
this._displayedTiles = nextDisplayedTiles;
|
|
701
|
-
}
|
|
702
|
-
|
|
703
|
-
// 在清缓存或销毁前,把当前显示中的瓦片统一通知为隐藏。
|
|
704
|
-
}, {
|
|
705
|
-
key: "_hideAllDisplayedTiles",
|
|
706
|
-
value: function _hideAllDisplayedTiles() {
|
|
707
|
-
var _this8 = this;
|
|
708
|
-
this._displayedTiles.forEach(function (tile) {
|
|
709
|
-
_this8._raiseTileDisplayChange(tile, 'hide');
|
|
710
|
-
});
|
|
711
|
-
this._displayedTiles.clear();
|
|
712
|
-
}
|
|
713
|
-
|
|
714
|
-
// 判断 tileLoad 返回值是否满足自动托管所需的最小图层接口。
|
|
715
|
-
}, {
|
|
716
|
-
key: "_isManagedTileLayer",
|
|
717
|
-
value: function _isManagedTileLayer(layer) {
|
|
718
|
-
if (!layer || _typeof(layer) !== 'object') {
|
|
719
|
-
return false;
|
|
720
|
-
}
|
|
721
|
-
var candidate = layer;
|
|
722
|
-
return typeof candidate.show === 'function' && typeof candidate.remove === 'function';
|
|
723
|
-
}
|
|
724
|
-
|
|
725
|
-
// 统一整理 tileLoad 返回的单个图层或图层数组。
|
|
726
|
-
}, {
|
|
727
|
-
key: "_normalizeManagedTileLayers",
|
|
728
|
-
value: function _normalizeManagedTileLayers(result) {
|
|
729
|
-
var _this9 = this;
|
|
730
|
-
if (!result) {
|
|
731
|
-
return [];
|
|
732
|
-
}
|
|
733
|
-
var layers = Array.isArray(result) ? result : [result];
|
|
734
|
-
return layers.filter(function (layer) {
|
|
735
|
-
return _this9._isManagedTileLayer(layer);
|
|
736
|
-
});
|
|
737
|
-
}
|
|
738
|
-
|
|
739
|
-
// 注册 tileLoad 返回的图层,显隐切换统一交给显示调度处理。
|
|
740
|
-
}, {
|
|
741
|
-
key: "_registerManagedTileLayers",
|
|
742
|
-
value: function _registerManagedTileLayers(tile, result) {
|
|
743
|
-
var _this$_managedTileLay;
|
|
744
|
-
var layers = this._normalizeManagedTileLayers(result);
|
|
745
|
-
if (layers.length === 0) {
|
|
746
|
-
return;
|
|
747
|
-
}
|
|
748
|
-
var key = this._getTileKey(tile.x, tile.y, tile.z);
|
|
749
|
-
var registeredLayers = (_this$_managedTileLay = this._managedTileLayers.get(key)) !== null && _this$_managedTileLay !== void 0 ? _this$_managedTileLay : [];
|
|
750
|
-
var nextLayers = layers.filter(function (layer) {
|
|
751
|
-
return !registeredLayers.includes(layer);
|
|
752
|
-
});
|
|
753
|
-
if (nextLayers.length === 0) {
|
|
754
|
-
return;
|
|
755
|
-
}
|
|
756
|
-
this._managedTileLayers.set(key, [].concat(_toConsumableArray(registeredLayers), _toConsumableArray(nextLayers)));
|
|
757
|
-
if (this._autoDisplayLayers) {
|
|
758
|
-
this._setManagedTileLayersDisplay(key, this._displayedTiles.has(key));
|
|
759
|
-
return;
|
|
760
|
-
}
|
|
761
|
-
this._applyManagedTileLayersDisplay(key, true);
|
|
762
|
-
}
|
|
763
|
-
|
|
764
|
-
// 判断图层是否已销毁,兼容属性和方法两种常见实现。
|
|
765
|
-
}, {
|
|
766
|
-
key: "_isManagedTileLayerDestroyed",
|
|
767
|
-
value: function _isManagedTileLayerDestroyed(layer) {
|
|
768
|
-
var destroyed = layer.isDestroyed;
|
|
769
|
-
return typeof destroyed === 'function' ? destroyed() : destroyed === true;
|
|
770
|
-
}
|
|
771
|
-
|
|
772
|
-
// 对指定瓦片关联的所有托管图层执行显隐。
|
|
773
|
-
}, {
|
|
774
|
-
key: "_applyManagedTileLayersDisplay",
|
|
775
|
-
value: function _applyManagedTileLayersDisplay(key, isShow) {
|
|
776
|
-
var layers = this._managedTileLayers.get(key);
|
|
777
|
-
if (!layers) {
|
|
778
|
-
return;
|
|
779
|
-
}
|
|
780
|
-
var _iterator5 = _createForOfIteratorHelper(layers),
|
|
781
|
-
_step5;
|
|
782
|
-
try {
|
|
783
|
-
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
784
|
-
var layer = _step5.value;
|
|
785
|
-
if (!this._isManagedTileLayerDestroyed(layer)) {
|
|
786
|
-
layer.show(isShow);
|
|
787
|
-
}
|
|
788
|
-
}
|
|
789
|
-
} catch (err) {
|
|
790
|
-
_iterator5.e(err);
|
|
791
|
-
} finally {
|
|
792
|
-
_iterator5.f();
|
|
793
|
-
}
|
|
794
|
-
}
|
|
795
|
-
|
|
796
|
-
// 自动显示或隐藏指定瓦片关联的所有托管图层。
|
|
797
|
-
}, {
|
|
798
|
-
key: "_setManagedTileLayersDisplay",
|
|
799
|
-
value: function _setManagedTileLayersDisplay(key, isShow) {
|
|
800
|
-
if (!this._autoDisplayLayers) {
|
|
801
|
-
return;
|
|
802
|
-
}
|
|
803
|
-
this._applyManagedTileLayersDisplay(key, isShow);
|
|
804
|
-
}
|
|
805
|
-
|
|
806
|
-
// 自动移除指定瓦片关联的所有托管图层。
|
|
807
|
-
}, {
|
|
808
|
-
key: "_removeManagedTileLayers",
|
|
809
|
-
value: function _removeManagedTileLayers(key) {
|
|
810
|
-
var layers = this._managedTileLayers.get(key);
|
|
811
|
-
if (!layers) {
|
|
812
|
-
return;
|
|
813
|
-
}
|
|
814
|
-
this._managedTileLayers.delete(key);
|
|
815
|
-
var _iterator6 = _createForOfIteratorHelper(layers),
|
|
816
|
-
_step6;
|
|
817
|
-
try {
|
|
818
|
-
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
819
|
-
var layer = _step6.value;
|
|
820
|
-
if (!this._isManagedTileLayerDestroyed(layer)) {
|
|
821
|
-
layer.remove();
|
|
822
|
-
}
|
|
823
|
-
}
|
|
824
|
-
} catch (err) {
|
|
825
|
-
_iterator6.e(err);
|
|
826
|
-
} finally {
|
|
827
|
-
_iterator6.f();
|
|
828
|
-
}
|
|
829
|
-
}
|
|
830
|
-
|
|
831
|
-
// 移除所有托管图层,用于清缓存和销毁兜底。
|
|
832
|
-
}, {
|
|
833
|
-
key: "_removeAllManagedTileLayers",
|
|
834
|
-
value: function _removeAllManagedTileLayers() {
|
|
835
|
-
var keys = _toConsumableArray(this._managedTileLayers.keys());
|
|
836
|
-
var _iterator7 = _createForOfIteratorHelper(keys),
|
|
837
|
-
_step7;
|
|
838
|
-
try {
|
|
839
|
-
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
840
|
-
var key = _step7.value;
|
|
841
|
-
this._removeManagedTileLayers(key);
|
|
842
|
-
}
|
|
843
|
-
} catch (err) {
|
|
844
|
-
_iterator7.e(err);
|
|
845
|
-
} finally {
|
|
846
|
-
_iterator7.f();
|
|
847
|
-
}
|
|
848
|
-
}
|
|
849
|
-
|
|
850
|
-
// 计算指定层级的最大几何误差,并缓存第 0 层误差基准值。
|
|
851
|
-
}, {
|
|
852
|
-
key: "_getLevelMaximumGeometricError",
|
|
853
|
-
value: function _getLevelMaximumGeometricError(z) {
|
|
854
|
-
if (this._levelZeroMaximumGeometricError === null) {
|
|
855
|
-
this._levelZeroMaximumGeometricError = Cesium.TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(this.tilingScheme.ellipsoid, 128, this.tilingScheme.getNumberOfXTilesAtLevel(0));
|
|
856
|
-
}
|
|
857
|
-
return this._levelZeroMaximumGeometricError / (1 << z);
|
|
858
|
-
}
|
|
859
|
-
|
|
860
|
-
// 把被淘汰缓存对应的瓦片状态恢复为未加载,便于后续重新请求。
|
|
861
|
-
}, {
|
|
862
|
-
key: "_resetTileStatesByKeys",
|
|
863
|
-
value: function _resetTileStatesByKeys(keys) {
|
|
864
|
-
if (keys.length === 0) {
|
|
865
|
-
return;
|
|
866
|
-
}
|
|
867
|
-
var keySet = new Set(keys);
|
|
868
|
-
var queue = _toConsumableArray(this._rootTiles);
|
|
869
|
-
for (var index = 0; index < queue.length; index += 1) {
|
|
870
|
-
var _tile6 = queue[index];
|
|
871
|
-
if (keySet.has(_tile6.key)) {
|
|
872
|
-
this._resetTileRequestState(_tile6);
|
|
873
|
-
}
|
|
874
|
-
var _iterator8 = _createForOfIteratorHelper(_tile6.children),
|
|
875
|
-
_step8;
|
|
876
|
-
try {
|
|
877
|
-
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
878
|
-
var child = _step8.value;
|
|
879
|
-
queue.push(child);
|
|
880
|
-
}
|
|
881
|
-
} catch (err) {
|
|
882
|
-
_iterator8.e(err);
|
|
883
|
-
} finally {
|
|
884
|
-
_iterator8.f();
|
|
885
|
-
}
|
|
886
|
-
}
|
|
887
|
-
}
|
|
888
|
-
|
|
889
|
-
// 使用 Cesium 的屏幕空间误差规则,判断当前瓦片是否需要继续细分。
|
|
890
|
-
}, {
|
|
891
|
-
key: "_getScreenSpaceError",
|
|
892
|
-
value: function _getScreenSpaceError(frameState, tile) {
|
|
893
|
-
var maxGeometricError = this._getLevelMaximumGeometricError(tile.z);
|
|
894
|
-
var distance = tile.distanceToCamera;
|
|
895
|
-
var height = frameState.context.drawingBufferHeight;
|
|
896
|
-
var sseDenominator = frameState.camera.frustum.sseDenominator;
|
|
897
|
-
var error = maxGeometricError * height / (distance * sseDenominator);
|
|
898
|
-
if (frameState.fog.enabled) {
|
|
899
|
-
error -= CesiumMath.fog(distance, frameState.fog.density) * frameState.fog.sse;
|
|
900
|
-
}
|
|
901
|
-
return error / frameState.pixelRatio;
|
|
902
|
-
}
|
|
903
|
-
|
|
904
|
-
// 根据瓦片坐标拼接最终请求 URL。
|
|
905
|
-
}, {
|
|
906
|
-
key: "_buildTileUrl",
|
|
907
|
-
value: function _buildTileUrl(x, y, z) {
|
|
908
|
-
return this.url.replace('{x}', String(x)).replace('{y}', String(y)).replace('{z}', String(z));
|
|
909
|
-
}
|
|
910
|
-
|
|
911
|
-
// 把未知错误统一包装成 Error,便于后续事件分发和日志处理。
|
|
912
|
-
}, {
|
|
913
|
-
key: "_toError",
|
|
914
|
-
value: function _toError(error, fallbackMessage) {
|
|
915
|
-
if (error instanceof Error) {
|
|
916
|
-
return error;
|
|
917
|
-
}
|
|
918
|
-
if (typeof error === 'string' && error.length > 0) {
|
|
919
|
-
return new Error(error);
|
|
920
|
-
}
|
|
921
|
-
return new Error(fallbackMessage);
|
|
922
|
-
}
|
|
923
|
-
|
|
924
|
-
// 按需创建 MVT 解码 Worker;初始化失败时自动回退主线程解码。
|
|
925
|
-
}, {
|
|
926
|
-
key: "_getDecodeWorkerClient",
|
|
927
|
-
value: function _getDecodeWorkerClient() {
|
|
928
|
-
if (!this._decodeWithWorker || this._destroyed) {
|
|
929
|
-
return null;
|
|
930
|
-
}
|
|
931
|
-
if (this._decodeWorkerClient) {
|
|
932
|
-
return this._decodeWorkerClient;
|
|
933
|
-
}
|
|
934
|
-
try {
|
|
935
|
-
this._decodeWorkerClient = new MvtVectorWorkerClient({
|
|
936
|
-
workerUrl: this._workerUrl || undefined
|
|
937
|
-
});
|
|
938
|
-
return this._decodeWorkerClient;
|
|
939
|
-
} catch (error) {
|
|
940
|
-
this._decodeWithWorker = false;
|
|
941
|
-
console.warn('MVT 解码 Worker 初始化失败,已回退主线程解码', error);
|
|
942
|
-
return null;
|
|
943
|
-
}
|
|
944
|
-
}
|
|
945
|
-
|
|
946
|
-
// 销毁当前解码 Worker,避免销毁后仍有挂起任务占用资源。
|
|
947
|
-
}, {
|
|
948
|
-
key: "_destroyDecodeWorkerClient",
|
|
949
|
-
value: function _destroyDecodeWorkerClient() {
|
|
950
|
-
var _this$_decodeWorkerCl;
|
|
951
|
-
(_this$_decodeWorkerCl = this._decodeWorkerClient) === null || _this$_decodeWorkerCl === void 0 || _this$_decodeWorkerCl.destroy();
|
|
952
|
-
this._decodeWorkerClient = null;
|
|
953
|
-
}
|
|
954
|
-
|
|
955
|
-
// 优先在 Worker 中解码瓦片;异常时关闭 Worker 并回退后续请求。
|
|
956
|
-
}, {
|
|
957
|
-
key: "_decodeTile",
|
|
958
|
-
value: function () {
|
|
959
|
-
var _decodeTile2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(buffer) {
|
|
960
|
-
var decodeWorkerClient;
|
|
961
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
962
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
963
|
-
case 0:
|
|
964
|
-
decodeWorkerClient = this._getDecodeWorkerClient();
|
|
965
|
-
if (decodeWorkerClient) {
|
|
966
|
-
_context2.next = 3;
|
|
967
|
-
break;
|
|
968
|
-
}
|
|
969
|
-
return _context2.abrupt("return", decodeTile(buffer));
|
|
970
|
-
case 3:
|
|
971
|
-
_context2.prev = 3;
|
|
972
|
-
_context2.next = 6;
|
|
973
|
-
return decodeWorkerClient.decode(buffer);
|
|
974
|
-
case 6:
|
|
975
|
-
return _context2.abrupt("return", _context2.sent);
|
|
976
|
-
case 9:
|
|
977
|
-
_context2.prev = 9;
|
|
978
|
-
_context2.t0 = _context2["catch"](3);
|
|
979
|
-
this._destroyDecodeWorkerClient();
|
|
980
|
-
this._decodeWithWorker = false;
|
|
981
|
-
console.warn('MVT 解码 Worker 运行失败,后续已回退主线程解码', _context2.t0);
|
|
982
|
-
throw this._toError(_context2.t0, 'Worker 解码 MVT 瓦片失败');
|
|
983
|
-
case 15:
|
|
984
|
-
case "end":
|
|
985
|
-
return _context2.stop();
|
|
986
|
-
}
|
|
987
|
-
}, _callee2, this, [[3, 9]]);
|
|
988
|
-
}));
|
|
989
|
-
function _decodeTile(_x) {
|
|
990
|
-
return _decodeTile2.apply(this, arguments);
|
|
991
|
-
}
|
|
992
|
-
return _decodeTile;
|
|
993
|
-
}() // 请求单个瓦片并解析为自定义 protobuf tile 对象。
|
|
994
|
-
}, {
|
|
995
|
-
key: "_requestTile",
|
|
996
|
-
value: function () {
|
|
997
|
-
var _requestTile2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(x, y, z, signal) {
|
|
998
|
-
var url, response, buffer;
|
|
999
|
-
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
1000
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
1001
|
-
case 0:
|
|
1002
|
-
url = this._buildTileUrl(x, y, z);
|
|
1003
|
-
_context3.next = 3;
|
|
1004
|
-
return fetch(url, {
|
|
1005
|
-
signal: signal
|
|
1006
|
-
});
|
|
1007
|
-
case 3:
|
|
1008
|
-
response = _context3.sent;
|
|
1009
|
-
if (response.ok) {
|
|
1010
|
-
_context3.next = 6;
|
|
1011
|
-
break;
|
|
1012
|
-
}
|
|
1013
|
-
throw new Error("\u8BF7\u6C42\u74E6\u7247\u5931\u8D25: ".concat(response.status, " ").concat(response.statusText));
|
|
1014
|
-
case 6:
|
|
1015
|
-
_context3.next = 8;
|
|
1016
|
-
return response.arrayBuffer();
|
|
1017
|
-
case 8:
|
|
1018
|
-
buffer = _context3.sent;
|
|
1019
|
-
_context3.t0 = x;
|
|
1020
|
-
_context3.t1 = y;
|
|
1021
|
-
_context3.t2 = z;
|
|
1022
|
-
_context3.next = 14;
|
|
1023
|
-
return this._decodeTile(buffer);
|
|
1024
|
-
case 14:
|
|
1025
|
-
_context3.t3 = _context3.sent;
|
|
1026
|
-
return _context3.abrupt("return", {
|
|
1027
|
-
x: _context3.t0,
|
|
1028
|
-
y: _context3.t1,
|
|
1029
|
-
z: _context3.t2,
|
|
1030
|
-
raw: _context3.t3
|
|
1031
|
-
});
|
|
1032
|
-
case 16:
|
|
1033
|
-
case "end":
|
|
1034
|
-
return _context3.stop();
|
|
1035
|
-
}
|
|
1036
|
-
}, _callee3, this);
|
|
1037
|
-
}));
|
|
1038
|
-
function _requestTile(_x2, _x3, _x4, _x5) {
|
|
1039
|
-
return _requestTile2.apply(this, arguments);
|
|
1040
|
-
}
|
|
1041
|
-
return _requestTile;
|
|
1042
|
-
}() // 加载单个瓦片,包含初始化、层级校验、缓存命中和请求去重。
|
|
1043
|
-
}, {
|
|
1044
|
-
key: "_loadTile",
|
|
1045
|
-
value: function () {
|
|
1046
|
-
var _loadTile2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(tile) {
|
|
1047
|
-
var _this10 = this;
|
|
1048
|
-
var x, y, z, key, cached, pending, requestToken, controller, request;
|
|
1049
|
-
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
1050
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
1051
|
-
case 0:
|
|
1052
|
-
_context4.next = 2;
|
|
1053
|
-
return this.init();
|
|
1054
|
-
case 2:
|
|
1055
|
-
this._validateOptions();
|
|
1056
|
-
x = tile.x, y = tile.y, z = tile.z, key = tile.key;
|
|
1057
|
-
if (!(z < this.minzoom || z > this.maximumLevel)) {
|
|
1058
|
-
_context4.next = 6;
|
|
1059
|
-
break;
|
|
1060
|
-
}
|
|
1061
|
-
throw this._emitError(new Error("\u74E6\u7247\u5C42\u7EA7 ".concat(z, " \u8D85\u51FA\u8303\u56F4 [").concat(this.minzoom, ", ").concat(this.maximumLevel, "]")));
|
|
1062
|
-
case 6:
|
|
1063
|
-
cached = this._loadedTiles[key];
|
|
1064
|
-
if (!cached) {
|
|
1065
|
-
_context4.next = 10;
|
|
1066
|
-
break;
|
|
1067
|
-
}
|
|
1068
|
-
this._touchTileCache(key);
|
|
1069
|
-
return _context4.abrupt("return", cached);
|
|
1070
|
-
case 10:
|
|
1071
|
-
pending = this._pendingTiles.get(key);
|
|
1072
|
-
if (!pending) {
|
|
1073
|
-
_context4.next = 13;
|
|
1074
|
-
break;
|
|
1075
|
-
}
|
|
1076
|
-
return _context4.abrupt("return", pending);
|
|
1077
|
-
case 13:
|
|
1078
|
-
// requestToken 用于在 clearCache 后废弃旧请求,避免过期结果再次写回缓存。
|
|
1079
|
-
requestToken = this._requestToken;
|
|
1080
|
-
controller = new AbortController();
|
|
1081
|
-
request = this._requestTile(x, y, z, controller.signal).then(function (tile) {
|
|
1082
|
-
if (controller.signal.aborted || requestToken !== _this10._requestToken || _this10._destroyed) {
|
|
1083
|
-
return tile;
|
|
1084
|
-
}
|
|
1085
|
-
_this10._loadedTiles[key] = tile;
|
|
1086
|
-
_this10._touchTileCache(key);
|
|
1087
|
-
_this10._pruneLoadedTiles();
|
|
1088
|
-
_this10.tileLoadEvent.raiseEvent(tile);
|
|
1089
|
-
_this10._syncTileDisplayState(_this10._tilesToUpdate);
|
|
1090
|
-
return tile;
|
|
1091
|
-
}).catch(function (error) {
|
|
1092
|
-
var normalizedError = _this10._toError(error, '加载 MVT 瓦片失败');
|
|
1093
|
-
if (controller.signal.aborted || _this10._isAbortError(normalizedError)) {
|
|
1094
|
-
throw normalizedError;
|
|
1095
|
-
}
|
|
1096
|
-
throw _this10._emitError(normalizedError);
|
|
1097
|
-
}).finally(function () {
|
|
1098
|
-
if (_this10._pendingTiles.get(key) === request) {
|
|
1099
|
-
_this10._pendingTiles.delete(key);
|
|
1100
|
-
}
|
|
1101
|
-
if (_this10._pendingRequestControllers.get(key) === controller) {
|
|
1102
|
-
_this10._pendingRequestControllers.delete(key);
|
|
1103
|
-
}
|
|
1104
|
-
if (_this10._pendingRequestTiles.get(key) === tile) {
|
|
1105
|
-
_this10._pendingRequestTiles.delete(key);
|
|
1106
|
-
}
|
|
1107
|
-
});
|
|
1108
|
-
this._pendingTiles.set(key, request);
|
|
1109
|
-
this._pendingRequestControllers.set(key, controller);
|
|
1110
|
-
this._pendingRequestTiles.set(key, tile);
|
|
1111
|
-
return _context4.abrupt("return", request);
|
|
1112
|
-
case 20:
|
|
1113
|
-
case "end":
|
|
1114
|
-
return _context4.stop();
|
|
1115
|
-
}
|
|
1116
|
-
}, _callee4, this);
|
|
1117
|
-
}));
|
|
1118
|
-
function _loadTile(_x6) {
|
|
1119
|
-
return _loadTile2.apply(this, arguments);
|
|
1120
|
-
}
|
|
1121
|
-
return _loadTile;
|
|
1122
|
-
}() // 把自定义 protobuf 瓦片转换成 FeatureCollection。
|
|
1123
|
-
}, {
|
|
1124
|
-
key: "tileToGeoJSON",
|
|
1125
|
-
value: function tileToGeoJSON(tile) {
|
|
1126
|
-
if (!Array.isArray(tile.raw.features)) {
|
|
1127
|
-
throw this._emitError(new Error('无效的 tile 数据,无法转换 GeoJSON'));
|
|
1128
|
-
}
|
|
1129
|
-
return {
|
|
1130
|
-
x: tile.x,
|
|
1131
|
-
y: tile.y,
|
|
1132
|
-
z: tile.z,
|
|
1133
|
-
geoJson: {
|
|
1134
|
-
type: 'FeatureCollection',
|
|
1135
|
-
features: tile.raw.features
|
|
1136
|
-
}
|
|
1137
|
-
};
|
|
1138
|
-
}
|
|
1139
|
-
|
|
1140
|
-
// 供 Cesium 每帧调用,计算并更新当前视角下需要加载的瓦片。
|
|
1141
|
-
}, {
|
|
1142
|
-
key: "update",
|
|
1143
|
-
value: function update(frameState) {
|
|
1144
|
-
if (!this.ready || this._destroyed) {
|
|
1145
|
-
return;
|
|
1146
|
-
}
|
|
1147
|
-
var tilesToUpdate = this._getTilesToUpdate(frameState);
|
|
1148
|
-
var targetTileKeys = new Set(tilesToUpdate.map(function (tile) {
|
|
1149
|
-
return tile.key;
|
|
1150
|
-
}));
|
|
1151
|
-
this._cancelStaleRequests(targetTileKeys);
|
|
1152
|
-
this._syncTileDisplayState(tilesToUpdate);
|
|
1153
|
-
this._updateTiles(tilesToUpdate);
|
|
1154
|
-
}
|
|
1155
|
-
|
|
1156
|
-
// 取消当前视口之外的活跃请求,并丢弃尚未发出的过期队列项。
|
|
1157
|
-
}, {
|
|
1158
|
-
key: "_cancelStaleRequests",
|
|
1159
|
-
value: function _cancelStaleRequests(targetTileKeys) {
|
|
1160
|
-
var _iterator9 = _createForOfIteratorHelper(this._pendingRequestControllers.entries()),
|
|
1161
|
-
_step9;
|
|
1162
|
-
try {
|
|
1163
|
-
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
1164
|
-
var _step9$value = _slicedToArray(_step9.value, 2),
|
|
1165
|
-
key = _step9$value[0],
|
|
1166
|
-
controller = _step9$value[1];
|
|
1167
|
-
if (targetTileKeys.has(key)) {
|
|
1168
|
-
continue;
|
|
1169
|
-
}
|
|
1170
|
-
var pendingTile = this._pendingRequestTiles.get(key);
|
|
1171
|
-
this._pendingTiles.delete(key);
|
|
1172
|
-
this._pendingRequestControllers.delete(key);
|
|
1173
|
-
this._pendingRequestTiles.delete(key);
|
|
1174
|
-
controller.abort();
|
|
1175
|
-
if (pendingTile) {
|
|
1176
|
-
this._resetTileRequestState(pendingTile);
|
|
1177
|
-
}
|
|
1178
|
-
}
|
|
1179
|
-
} catch (err) {
|
|
1180
|
-
_iterator9.e(err);
|
|
1181
|
-
} finally {
|
|
1182
|
-
_iterator9.f();
|
|
1183
|
-
}
|
|
1184
|
-
if (this._requestQueue.length === 0) {
|
|
1185
|
-
return;
|
|
1186
|
-
}
|
|
1187
|
-
var nextQueue = [];
|
|
1188
|
-
this._queuedTileKeys.clear();
|
|
1189
|
-
var _iterator10 = _createForOfIteratorHelper(this._requestQueue),
|
|
1190
|
-
_step10;
|
|
1191
|
-
try {
|
|
1192
|
-
for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
|
|
1193
|
-
var _tile7 = _step10.value;
|
|
1194
|
-
if (!targetTileKeys.has(_tile7.key)) {
|
|
1195
|
-
this._resetTileRequestState(_tile7);
|
|
1196
|
-
continue;
|
|
1197
|
-
}
|
|
1198
|
-
nextQueue.push(_tile7);
|
|
1199
|
-
this._queuedTileKeys.add(_tile7.key);
|
|
1200
|
-
}
|
|
1201
|
-
} catch (err) {
|
|
1202
|
-
_iterator10.e(err);
|
|
1203
|
-
} finally {
|
|
1204
|
-
_iterator10.f();
|
|
1205
|
-
}
|
|
1206
|
-
this._requestQueue = nextQueue;
|
|
1207
|
-
}
|
|
1208
|
-
|
|
1209
|
-
// 把尚未加载的可见瓦片加入请求队列,并在并发上限内逐个拉起。
|
|
1210
|
-
}, {
|
|
1211
|
-
key: "_updateTiles",
|
|
1212
|
-
value: function _updateTiles(tilesToUpdate) {
|
|
1213
|
-
var _iterator11 = _createForOfIteratorHelper(tilesToUpdate),
|
|
1214
|
-
_step11;
|
|
1215
|
-
try {
|
|
1216
|
-
for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
|
|
1217
|
-
var _tile8 = _step11.value;
|
|
1218
|
-
if (_tile8.state !== 'none') {
|
|
1219
|
-
continue;
|
|
1220
|
-
}
|
|
1221
|
-
this._markTileLoading(_tile8);
|
|
1222
|
-
this._requestQueue.push(_tile8);
|
|
1223
|
-
this._queuedTileKeys.add(_tile8.key);
|
|
1224
|
-
}
|
|
1225
|
-
} catch (err) {
|
|
1226
|
-
_iterator11.e(err);
|
|
1227
|
-
} finally {
|
|
1228
|
-
_iterator11.f();
|
|
1229
|
-
}
|
|
1230
|
-
this._drainRequestQueue();
|
|
1231
|
-
}
|
|
1232
|
-
|
|
1233
|
-
// 在固定并发数内消费排队中的瓦片请求。
|
|
1234
|
-
}, {
|
|
1235
|
-
key: "_drainRequestQueue",
|
|
1236
|
-
value: function _drainRequestQueue() {
|
|
1237
|
-
var _this11 = this;
|
|
1238
|
-
if (this._destroyed) {
|
|
1239
|
-
return;
|
|
1240
|
-
}
|
|
1241
|
-
while (this._activeRequestCount < MAX_CONCURRENT_TILE_REQUESTS && this._requestQueue.length > 0) {
|
|
1242
|
-
var _tile9 = this._requestQueue.shift();
|
|
1243
|
-
if (!_tile9) {
|
|
1244
|
-
continue;
|
|
1245
|
-
}
|
|
1246
|
-
this._queuedTileKeys.delete(_tile9.key);
|
|
1247
|
-
if (_tile9.state !== 'loading') {
|
|
1248
|
-
continue;
|
|
1249
|
-
}
|
|
1250
|
-
var requestVersion = _tile9.requestVersion;
|
|
1251
|
-
this._activeRequestCount += 1;
|
|
1252
|
-
void this._loadVisibleTile(_tile9, requestVersion).finally(function () {
|
|
1253
|
-
_this11._activeRequestCount = Math.max(_this11._activeRequestCount - 1, 0);
|
|
1254
|
-
_this11._drainRequestQueue();
|
|
1255
|
-
});
|
|
1256
|
-
}
|
|
1257
|
-
}
|
|
1258
|
-
|
|
1259
|
-
// 加载当前可见瓦片,并同步维护瓦片状态。
|
|
1260
|
-
}, {
|
|
1261
|
-
key: "_loadVisibleTile",
|
|
1262
|
-
value: function () {
|
|
1263
|
-
var _loadVisibleTile2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(tile, requestVersion) {
|
|
1264
|
-
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
1265
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
1266
|
-
case 0:
|
|
1267
|
-
_context5.prev = 0;
|
|
1268
|
-
_context5.next = 3;
|
|
1269
|
-
return this._loadTile(tile);
|
|
1270
|
-
case 3:
|
|
1271
|
-
if (!(tile.requestVersion !== requestVersion)) {
|
|
1272
|
-
_context5.next = 5;
|
|
1273
|
-
break;
|
|
1274
|
-
}
|
|
1275
|
-
return _context5.abrupt("return");
|
|
1276
|
-
case 5:
|
|
1277
|
-
tile.state = 'loaded';
|
|
1278
|
-
_context5.next = 17;
|
|
1279
|
-
break;
|
|
1280
|
-
case 8:
|
|
1281
|
-
_context5.prev = 8;
|
|
1282
|
-
_context5.t0 = _context5["catch"](0);
|
|
1283
|
-
if (!(tile.requestVersion !== requestVersion)) {
|
|
1284
|
-
_context5.next = 12;
|
|
1285
|
-
break;
|
|
1286
|
-
}
|
|
1287
|
-
return _context5.abrupt("return");
|
|
1288
|
-
case 12:
|
|
1289
|
-
if (!this._isAbortError(_context5.t0)) {
|
|
1290
|
-
_context5.next = 15;
|
|
1291
|
-
break;
|
|
1292
|
-
}
|
|
1293
|
-
tile.state = 'none';
|
|
1294
|
-
return _context5.abrupt("return");
|
|
1295
|
-
case 15:
|
|
1296
|
-
tile.state = 'error';
|
|
1297
|
-
console.error("\u52A0\u8F7D\u5931\u8D25 [".concat(tile.x, ", ").concat(tile.y, ", ").concat(tile.z, "]"), _context5.t0);
|
|
1298
|
-
case 17:
|
|
1299
|
-
case "end":
|
|
1300
|
-
return _context5.stop();
|
|
1301
|
-
}
|
|
1302
|
-
}, _callee5, this, [[0, 8]]);
|
|
1303
|
-
}));
|
|
1304
|
-
function _loadVisibleTile(_x7, _x8) {
|
|
1305
|
-
return _loadVisibleTile2.apply(this, arguments);
|
|
1306
|
-
}
|
|
1307
|
-
return _loadVisibleTile;
|
|
1308
|
-
}() // 返回当前缓存中的全部已加载瓦片。
|
|
1309
|
-
}, {
|
|
1310
|
-
key: "getLoadedTiles",
|
|
1311
|
-
value: function getLoadedTiles() {
|
|
1312
|
-
return Object.values(this._loadedTiles);
|
|
1313
|
-
}
|
|
1314
|
-
|
|
1315
|
-
// 根据 x、y、z 从缓存中获取单个瓦片。
|
|
1316
|
-
}, {
|
|
1317
|
-
key: "getTile",
|
|
1318
|
-
value: function getTile(x, y, z) {
|
|
1319
|
-
return this._loadedTiles[this._getTileKey(x, y, z)];
|
|
1320
|
-
}
|
|
1321
|
-
|
|
1322
|
-
// 清空缓存并重置所有瓦片状态。
|
|
1323
|
-
}, {
|
|
1324
|
-
key: "clearCache",
|
|
1325
|
-
value: function clearCache() {
|
|
1326
|
-
this._requestToken += 1;
|
|
1327
|
-
var cachedTiles = Object.values(this._loadedTiles);
|
|
1328
|
-
this._abortAllPendingRequests();
|
|
1329
|
-
this._hideAllDisplayedTiles();
|
|
1330
|
-
for (var _i4 = 0, _cachedTiles = cachedTiles; _i4 < _cachedTiles.length; _i4++) {
|
|
1331
|
-
var _tile10 = _cachedTiles[_i4];
|
|
1332
|
-
var key = this._getTileKey(_tile10.x, _tile10.y, _tile10.z);
|
|
1333
|
-
this.tileEvictEvent.raiseEvent({
|
|
1334
|
-
key: key,
|
|
1335
|
-
x: _tile10.x,
|
|
1336
|
-
y: _tile10.y,
|
|
1337
|
-
z: _tile10.z
|
|
1338
|
-
});
|
|
1339
|
-
this._removeManagedTileLayers(key);
|
|
1340
|
-
}
|
|
1341
|
-
this._loadedTiles = {};
|
|
1342
|
-
this._pendingTiles.clear();
|
|
1343
|
-
this._cacheOrder.clear();
|
|
1344
|
-
this._removeAllManagedTileLayers();
|
|
1345
|
-
this._resetTileStates();
|
|
1346
|
-
}
|
|
1347
|
-
|
|
1348
|
-
// 取消全部进行中与排队中的请求,供清缓存和销毁时统一复用。
|
|
1349
|
-
}, {
|
|
1350
|
-
key: "_abortAllPendingRequests",
|
|
1351
|
-
value: function _abortAllPendingRequests() {
|
|
1352
|
-
this._requestQueue.length = 0;
|
|
1353
|
-
this._queuedTileKeys.clear();
|
|
1354
|
-
var _iterator12 = _createForOfIteratorHelper(this._pendingRequestControllers.entries()),
|
|
1355
|
-
_step12;
|
|
1356
|
-
try {
|
|
1357
|
-
for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
|
|
1358
|
-
var _step12$value = _slicedToArray(_step12.value, 2),
|
|
1359
|
-
key = _step12$value[0],
|
|
1360
|
-
controller = _step12$value[1];
|
|
1361
|
-
var pendingTile = this._pendingRequestTiles.get(key);
|
|
1362
|
-
this._pendingTiles.delete(key);
|
|
1363
|
-
this._pendingRequestControllers.delete(key);
|
|
1364
|
-
this._pendingRequestTiles.delete(key);
|
|
1365
|
-
controller.abort();
|
|
1366
|
-
if (pendingTile) {
|
|
1367
|
-
this._resetTileRequestState(pendingTile);
|
|
1368
|
-
}
|
|
1369
|
-
}
|
|
1370
|
-
} catch (err) {
|
|
1371
|
-
_iterator12.e(err);
|
|
1372
|
-
} finally {
|
|
1373
|
-
_iterator12.f();
|
|
1374
|
-
}
|
|
1375
|
-
}
|
|
1376
|
-
|
|
1377
|
-
// 把整棵瓦片树的状态恢复为未加载。
|
|
1378
|
-
}, {
|
|
1379
|
-
key: "_resetTileStates",
|
|
1380
|
-
value: function _resetTileStates() {
|
|
1381
|
-
var queue = _toConsumableArray(this._rootTiles);
|
|
1382
|
-
while (queue.length > 0) {
|
|
1383
|
-
var _tile11 = queue.shift();
|
|
1384
|
-
if (!_tile11) {
|
|
1385
|
-
continue;
|
|
1386
|
-
}
|
|
1387
|
-
this._resetTileRequestState(_tile11);
|
|
1388
|
-
var _iterator13 = _createForOfIteratorHelper(_tile11.children),
|
|
1389
|
-
_step13;
|
|
1390
|
-
try {
|
|
1391
|
-
for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
|
|
1392
|
-
var child = _step13.value;
|
|
1393
|
-
queue.push(child);
|
|
1394
|
-
}
|
|
1395
|
-
} catch (err) {
|
|
1396
|
-
_iterator13.e(err);
|
|
1397
|
-
} finally {
|
|
1398
|
-
_iterator13.f();
|
|
1399
|
-
}
|
|
1400
|
-
}
|
|
1401
|
-
}
|
|
1402
|
-
|
|
1403
|
-
// 销毁加载器并清理缓存与事件监听。
|
|
1404
|
-
}, {
|
|
1405
|
-
key: "destroy",
|
|
1406
|
-
value: function destroy() {
|
|
1407
|
-
if (this._destroyed) {
|
|
1408
|
-
return;
|
|
1409
|
-
}
|
|
1410
|
-
this._destroyed = true;
|
|
1411
|
-
this.clearCache();
|
|
1412
|
-
this._destroyDecodeWorkerClient();
|
|
1413
|
-
this._clearListenerRegistry();
|
|
1414
|
-
removeAllEventListeners(this.readyEvent);
|
|
1415
|
-
removeAllEventListeners(this.errorEvent);
|
|
1416
|
-
removeAllEventListeners(this.tileLoadEvent);
|
|
1417
|
-
removeAllEventListeners(this.tileDisplayEvent);
|
|
1418
|
-
removeAllEventListeners(this.tileEvictEvent);
|
|
1419
|
-
this._removeFromMap();
|
|
1420
|
-
}
|
|
1421
|
-
|
|
1422
|
-
// 判断当前实例是否已经销毁。
|
|
1423
|
-
}, {
|
|
1424
|
-
key: "isDestroyed",
|
|
1425
|
-
value: function isDestroyed() {
|
|
1426
|
-
return this._destroyed;
|
|
1427
|
-
}
|
|
1428
|
-
}]);
|
|
1429
|
-
return MvtVectorLoad;
|
|
1430
|
-
}();
|
|
1431
|
-
var VectorLoadTile = /*#__PURE__*/function () {
|
|
1432
|
-
// 创建单个四叉树瓦片节点。
|
|
1433
|
-
function VectorLoadTile(options) {
|
|
1434
|
-
_classCallCheck(this, VectorLoadTile);
|
|
1435
|
-
// 当前瓦片的 X 坐标。
|
|
1436
|
-
_defineProperty(this, "x", void 0);
|
|
1437
|
-
// 当前瓦片的 Y 坐标。
|
|
1438
|
-
_defineProperty(this, "y", void 0);
|
|
1439
|
-
// 当前瓦片所在层级。
|
|
1440
|
-
_defineProperty(this, "z", void 0);
|
|
1441
|
-
// 当前瓦片的唯一缓存键。
|
|
1442
|
-
_defineProperty(this, "key", void 0);
|
|
1443
|
-
// 所属的 VectorLoad 实例。
|
|
1444
|
-
_defineProperty(this, "parent", void 0);
|
|
1445
|
-
// 当前瓦片使用的切片方案。
|
|
1446
|
-
_defineProperty(this, "tilingScheme", void 0);
|
|
1447
|
-
// 当前瓦片对应的地理范围。
|
|
1448
|
-
_defineProperty(this, "rectangle", void 0);
|
|
1449
|
-
// 用于可见性与距离计算的包围区域。
|
|
1450
|
-
_defineProperty(this, "tileBoundingRegion", void 0);
|
|
1451
|
-
// 当前瓦片的子节点列表。
|
|
1452
|
-
_defineProperty(this, "children", void 0);
|
|
1453
|
-
// 当前瓦片到相机的距离。
|
|
1454
|
-
_defineProperty(this, "distanceToCamera", void 0);
|
|
1455
|
-
// 当前瓦片相对于视锥的可见性状态。
|
|
1456
|
-
_defineProperty(this, "visibility", void 0);
|
|
1457
|
-
// 当前瓦片的加载状态。
|
|
1458
|
-
_defineProperty(this, "state", void 0);
|
|
1459
|
-
// 当前瓦片的请求批次号,用于丢弃过期的异步回写。
|
|
1460
|
-
_defineProperty(this, "requestVersion", void 0);
|
|
1461
|
-
this.x = options.x;
|
|
1462
|
-
this.y = options.y;
|
|
1463
|
-
this.z = options.z;
|
|
1464
|
-
this.key = "".concat(this.x, ",").concat(this.y, ",").concat(this.z);
|
|
1465
|
-
this.parent = options.parent;
|
|
1466
|
-
this.children = [];
|
|
1467
|
-
this.tilingScheme = options.tilingScheme;
|
|
1468
|
-
this.rectangle = this.tilingScheme.tileXYToRectangle(this.x, this.y, this.z);
|
|
1469
|
-
this.tileBoundingRegion = new CesiumRuntime.TileBoundingRegion({
|
|
1470
|
-
rectangle: this.rectangle,
|
|
1471
|
-
minimumHeight: 0,
|
|
1472
|
-
maximumHeight: 0,
|
|
1473
|
-
ellipsoid: this.tilingScheme.ellipsoid,
|
|
1474
|
-
computeBoundingVolumes: true
|
|
1475
|
-
});
|
|
1476
|
-
this.distanceToCamera = 0;
|
|
1477
|
-
this.visibility = Cesium.Intersect.INSIDE;
|
|
1478
|
-
this.state = 'none';
|
|
1479
|
-
this.requestVersion = 0;
|
|
1480
|
-
}
|
|
1481
|
-
|
|
1482
|
-
// 创建四个子瓦片;如果已经创建过则直接返回。
|
|
1483
|
-
_createClass(VectorLoadTile, [{
|
|
1484
|
-
key: "createChildren",
|
|
1485
|
-
value: function createChildren() {
|
|
1486
|
-
if (this.children.length > 0) {
|
|
1487
|
-
return;
|
|
1488
|
-
}
|
|
1489
|
-
var tiles = [{
|
|
1490
|
-
x: this.x * 2,
|
|
1491
|
-
y: this.y * 2 + 1,
|
|
1492
|
-
z: this.z + 1
|
|
1493
|
-
}, {
|
|
1494
|
-
x: this.x * 2 + 1,
|
|
1495
|
-
y: this.y * 2 + 1,
|
|
1496
|
-
z: this.z + 1
|
|
1497
|
-
}, {
|
|
1498
|
-
x: this.x * 2,
|
|
1499
|
-
y: this.y * 2,
|
|
1500
|
-
z: this.z + 1
|
|
1501
|
-
}, {
|
|
1502
|
-
x: this.x * 2 + 1,
|
|
1503
|
-
y: this.y * 2,
|
|
1504
|
-
z: this.z + 1
|
|
1505
|
-
}];
|
|
1506
|
-
for (var _i5 = 0, _tiles = tiles; _i5 < _tiles.length; _i5++) {
|
|
1507
|
-
var _tiles$_i = _tiles[_i5],
|
|
1508
|
-
x = _tiles$_i.x,
|
|
1509
|
-
y = _tiles$_i.y,
|
|
1510
|
-
z = _tiles$_i.z;
|
|
1511
|
-
this.children.push(new VectorLoadTile({
|
|
1512
|
-
x: x,
|
|
1513
|
-
y: y,
|
|
1514
|
-
z: z,
|
|
1515
|
-
tilingScheme: this.tilingScheme,
|
|
1516
|
-
parent: this.parent
|
|
1517
|
-
}));
|
|
1518
|
-
}
|
|
1519
|
-
}
|
|
1520
|
-
|
|
1521
|
-
// 根据可见性和屏幕空间误差判断接受当前瓦片还是继续访问子节点。
|
|
1522
|
-
}, {
|
|
1523
|
-
key: "visit",
|
|
1524
|
-
value: function visit(frameState, visitor, getScreenSpaceError) {
|
|
1525
|
-
this.distanceToCamera = this.tileBoundingRegion.distanceToCamera(frameState);
|
|
1526
|
-
this.visibility = frameState.cullingVolume.computeVisibility(this.tileBoundingRegion);
|
|
1527
|
-
if (this.visibility === Cesium.Intersect.OUTSIDE) {
|
|
1528
|
-
return;
|
|
1529
|
-
}
|
|
1530
|
-
var maxSSE = frameState.maximumScreenSpaceError;
|
|
1531
|
-
var sse = getScreenSpaceError(frameState, this);
|
|
1532
|
-
|
|
1533
|
-
// minzoom 只作为显示和请求下限,不强制把瓦片树预展开到指定层级。
|
|
1534
|
-
if (this.z < this.parent.minzoom) {
|
|
1535
|
-
if (sse >= maxSSE) {
|
|
1536
|
-
visitor.visitChildren(this);
|
|
1537
|
-
}
|
|
1538
|
-
return;
|
|
1539
|
-
}
|
|
1540
|
-
if (sse >= maxSSE) {
|
|
1541
|
-
visitor.visitChildren(this);
|
|
1542
|
-
return;
|
|
1543
|
-
}
|
|
1544
|
-
visitor.accept(this);
|
|
1545
|
-
}
|
|
1546
|
-
}]);
|
|
1547
|
-
return VectorLoadTile;
|
|
1548
|
-
}();
|
|
1549
|
-
export default MvtVectorLoad;
|
|
1
|
+
function _0x4f57(){var _0x187657=['x2XVywrwAxnPyMXLvgLSzq','x2DLDerLy29KzvDVCMTLCKnSAwvUDa','zw5K','5lIn5PsV5OYb55Qe5lQl5lU257g75z6lici','CgfYzw50','Bwf4','Axnezxn0CM95zwq','x2HPzgvbBgXeAxnWBgf5zwruAwXLCW','y3jLyxrL','zw51BwvYywjSzq','AxntywzLsw50zwDLCG','x3zHBgLKyxrLt3b0Aw9UCW','Dg9qCMLTAxrPDMu','A2v5CW','rMvHDhvYzunVBgXLy3rPB24','ywjVCNq','x2nSzwfYtgLZDgvUzxjszwDPC3rYEq','ChvZAa','x3rPBgvZvg9vCgrHDgu','yxn5BMm','x2rLy29KzvDVCMTLCKnSAwvUDa','6k+35lYG5ywLihvYBcdLJ4lMLBa','DgLSzuv2Awn0rxzLBNq','CMvWBgfJzq','DMLZAxq','x3rVDwnOvgLSzunHy2HL','ywz0zxjmB2m','CMfPC2vfDMvUDa','x21HCenVBNrLEhq','DgLSzujVDw5KAw5NuMvNAw9U','BMfTzq','x3jLBw92zvjLz2LZDgvYzwrmAxn0zw5LCG','C2v0','x2LUAxrqCM9TAxnL','x3jHAxnLvgLSzurPC3bSyxLdAgfUz2u','x2XPC3rLBMvYuMvNAxn0CNK','yxv0B0rPC3bSyxLmyxLLCNm','C3rYAw5N','x2rPC3bSyxLLzfrPBgvZ','B2zM','BMv4DeXVyW','y29TChv0zvzPC2LIAwXPDhK','x2fJDgL2zvjLCxvLC3rdB3vUDa','zMLSDgvY','x2LZqwjVCNrfCNjVCG','DxjSiow/HEMHU+wmHEwqQYb7EN3JGif7Eh3JGif7Ex0G5y2G5l2n56YM','E3P9','x2nYzwf0zvjVB3ruAwXLCW','x3n5BMnuAwXLrgLZCgXHEvn0yxrL','D3jHCa','E3L9','x2DLDev2zw50qNLuExbL','DgHLBG','x2nHBMnLBfn0ywXLuMvXDwvZDhm','y29TCgXLDgLVBG','Dw5KzwzPBMvK','CMf3','Dhj5tg9J','AgLKzq','ywrKrxzLBNrmAxn0zw5LCG','y29Uy2f0','x2nHy2HLt3jKzxi','x2fKzgvKvg9nyxa','C3bSAwnL','CMvJDgfUz2XL','ywjVCNrLza','CMvHzhK','C2HPzNq','y2f0y2G','zM9YrwfJAa','BwLUEM9VBs9TyxH6B29TioMfJEE9RUAxOoAvIa','sw52ywXPzcbHDhrLBxb0ihrVigL0zxjHDguGBM9UlwL0zxjHyMXLigLUC3rHBMnLlGPjBIbVCMrLCIb0BYbIzsbPDgvYywjSzsWGBM9UlwfYCMf5ig9IAMvJDhmGBxvZDcbOyxzLigeGw1n5BwjVBc5PDgvYyxrVCL0OksbTzxrOB2qU','Aw5PDa','ChjVDg90ExbL','y2HPBgrYzw4','x2rYywLUuMvXDwvZDff1zxvL','y29TCgXLDgu','BgvUz3rO','zxjYB3i','x3bLBMrPBMDszxf1zxn0vgLSzxm','AxrLCMf0B3i','mtmXntC2wNv0su9j','ChjPBwL0AxzLCW','CMv2zxjZzq','ioI2HEwhUUImG+wBTcbB','DMLZAwjPBgL0Eq','DgLSzuXVywq','x2LUDM9Rzq','y2XLyxjdywnOzq','x3rPBgvZt3zLCMXHCa','DMfSDwvZ','x2rLC3rYB3LezwnVzgvxB3jRzxjdBgLLBNq','DgLSzurPC3bSyxK','ChjLDG','DxjS','x3vWzgf0zvrPBgvZ','x3rVrxjYB3i','zgvJB2rLv2L0AfDVCMTLCG','sw50zxjZzwn0','x3jLCxvLC3rrDwv1zq','y29UDgLUDwu','x2XVywrLzfrPBgvZ','x3nOB3vSzeTLzxbeAxnWBgf5zwruAwXL','zNj1C3r1Bq','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','yxn5BMnjDgvYyxrVCG','su5tsurf','ndaWtK51C3vh','DgHYB3C','x19WCM90B19F','x2fIB3j0qwXSugvUzgLUz1jLCxvLC3rZ','x2LZtwfUywDLzfrPBgvmyxLLCG','zg9Uzq','x3nOB3vSzerLBgf5vgfYz2v0vgLSzurPC3bSyxK','z2v0twfW','r2vUzxjHDg9Y','x3DVCMTLCLvYBa','mZaXmJqZnuDPy0X5DG','x3nLBNq','x3nLDe1HBMfNzwruAwXLtgf5zxjZrgLZCgXHEq','BM9YBwfS','Bwv0Ag9K','C2XPy2u','zxjYB3jfDMvUDa','x2fWCgX5twfUywDLzfrPBgvmyxLLCNneAxnWBgf5','x2DLDfrPBgvlzxK','y2XLyxi','zgvMAw5LuhjVCgvYDhK','zw50CMLLCW','yxbWBhK','Bwf4EM9VBq','D29YA2vYvxjS','rxzLBNq','q2fUBM90ignHBgWGysbJBgfZCYbHCYbHigz1BMn0Aw9U','DMfSDwu','mJaWnZi4AxfLDK1W','Aw5KzxHpzG','zgvZDhjVEq','u2v0','BwfYAW','x3jLC2v0vgLSzvn0yxrLC0j5s2v5CW','Aw5JBhvKzxm','qebHC3LUy0L0zxjHDg9Y','y2fSBa','r2vUzxjHDg9YrNvUy3rPB24','BwLUEM9VBq','zgvMyxvSDa','jYbTzxrOB2q','mZK1nJGYthbYqKTg','C2LNBMfS','x2f1Dg9eAxnWBgf5tgf5zxjZ','zMLUywXSEq','zhjHD2LUz0j1zMzLCKHLAwDODa','C3rVCa','B2jQzwn0','ywjYDxb0','CMvXDwvZDfzLCNnPB24','ywnJzxb0','zMvHDhvYzxm','y3jLyxrLq2HPBgrYzw4','x2rLy29KzvDPDgHxB3jRzxi','AxnbCNjHEq','CMvZDwX0tMfTzq','z2v0','Bwf4Aw11BuXLDMvS','C2L6zq','yxDYyxa','CMvZB2X2zq','zgLZDgfUy2vuB0nHBwvYyq','x3bLBMrPBMDuAwXLCW','twf0Aa','CMvTB3zLza','BMv4Da','BM9Uzq','y2HHCKf0','z2v0tNvTyMvYt2zyvgLSzxnbDeXLDMvS','yxjN','mZu0ntyYnhnXtgPxEG','Bwf4q2fJAgvtAxPLiow/HEMHU+AyR+wKP+s6JIaWioEAHoAvToAvSa','AgfZ','DgLSzuXVywrfDMvUDa','C2HVDW','Bwf4q2fJAgvtAxPL','x3jLCxvLC3ruAwXL','r2vUzxjHDg9YigLZigfSCMvHzhKGCNvUBMLUzW','x3jLC2v0vgLSzvjLCxvLC3rtDgf0zq','x2XVywruAwXL','v2vItwvYy2f0B3juAwXPBMDty2HLBwu','zgvSzwDHDgu','zNvUy3rPB24','zgvSzxrL','BwfW','A2v5','y29UC3rYDwn0B3i','x2rLy29KzvrPBgu','C3rHDhvZvgv4Da','z2v0t3DUuhjVCgvYDhLtEw1IB2XZ','mtqZodCWu3H2Euj0','x3f1zxvLzfrPBgvlzxLZ','CMv0DxjU','x2LZu2fTzu9Yqw5Jzxn0B3juAwXL','x2vTAxrfCNjVCG','x2DLDeXLDMvStwf4Aw11BuDLB21LDhjPy0vYCM9Y','qebPDgvYyxrVCG','DgLSAw5Nu2nOzw1L','w29IAMvJDcbhzw5LCMf0B3jD','C2v0uhjVDg90ExbLt2y','C3rHDgu','yNjLywS','x21HBMfNzwruAwXLtgf5zxjZ','AM9PBG','ywrK','CMvHzhLfDMvUDa','x2rVsw5PDa','x2DLDfnJCMvLBLnWywnLrxjYB3i','Dhj5rw50CMLLCW','zgLZCgf0y2HfEgnLChrPB24','x2rLC3rYB3LLza','x3bLBMrPBMDszxf1zxn0q29UDhjVBgXLCNm','AgfZt3DUuhjVCgvYDhK','x3jVB3ruAwXLCW','x2LZtwfUywDLzfrPBgvmyxLLCKrLC3rYB3LLza','DhLWzq','nde1odG5vgPgCfLz','x3jLBw92zu1HBMfNzwruAwXLtgf5zxjZ','y2f0y2HmB2m','oun4qLDvBW','DgLSzurPC3bSyxLfDMvUDa','z2v0tNvTyMvYt2zzvgLSzxnbDeXLDMvS','ndrcy2jwvw8','x2XLDMvSwMvYB01HEgLTDw1hzw9TzxrYAwnfCNjVCG','x3jLC2v0vgLSzvn0yxrLCW','x3jLCxvLC3ruB2TLBG','x3jLz2LZDgvYtwfUywDLzfrPBgvmyxLLCNm','x2j1AwXKvgLSzvvYBa','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9YCW','zM9N','Bwf4Aw11BvnJCMvLBLnWywnLrxjYB3i','sw52ywXPzcbHDhrLBxb0ihrVigrLC3rYDwn0DxjLig5VBI1PDgvYywjSzsbPBNn0yw5Jzs4ksw4GB3jKzxiGDg8GyMuGAxrLCMfIBguSig5VBI1HCNjHEsbVyMPLy3rZig11C3qGAgf2zsbHifTtEw1IB2WUAxrLCMf0B3jDkcKGBwv0Ag9KlG','EM9VBq','C2nLBMu','otfgqurgCMi','Dg9tDhjPBMC','x3jLBw92zuzYB21nyxa','z2v0rxn0Aw1HDgvKtgv2zwXAzxjVr2vVBwv0CMLJrxjYB3jgB3jbsgvPz2H0BwfW','DMLZAxrdAgLSzhjLBG','CMvTB3zL','zMLUywXSEuXVyW'];_0x4f57=function(){return _0x187657;};return _0x4f57();}var _0x3e6e21=_0x754a;(function(_0x11c0b5,_0x58503c){var _0x2df69b=_0x754a,_0x1ec8e0=_0x11c0b5();while(!![]){try{var _0x52bb49=-parseInt(_0x2df69b(0x18d))/0x1+parseInt(_0x2df69b(0x1f7))/0x2+parseInt(_0x2df69b(0x21b))/0x3+parseInt(_0x2df69b(0x193))/0x4*(parseInt(_0x2df69b(0x173))/0x5)+-parseInt(_0x2df69b(0x23a))/0x6*(-parseInt(_0x2df69b(0x19f))/0x7)+-parseInt(_0x2df69b(0x257))/0x8*(parseInt(_0x2df69b(0x190))/0x9)+-parseInt(_0x2df69b(0x211))/0xa*(parseInt(_0x2df69b(0x22d))/0xb);if(_0x52bb49===_0x58503c)break;else _0x1ec8e0['push'](_0x1ec8e0['shift']());}catch(_0x3d4e33){_0x1ec8e0['push'](_0x1ec8e0['shift']());}}}(_0x4f57,0x9fd9a));function _0x754a(_0xfccc23,_0x31f39e){_0xfccc23=_0xfccc23-0x167;var _0x4f57ca=_0x4f57();var _0x754adf=_0x4f57ca[_0xfccc23];if(_0x754a['bYgzQa']===undefined){var _0x34f402=function(_0x1d24ac){var _0x3986cf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x280cf6='',_0x47f04f='';for(var _0x199f16=0x0,_0x3d1c0d,_0x373b52,_0xabe587=0x0;_0x373b52=_0x1d24ac['charAt'](_0xabe587++);~_0x373b52&&(_0x3d1c0d=_0x199f16%0x4?_0x3d1c0d*0x40+_0x373b52:_0x373b52,_0x199f16++%0x4)?_0x280cf6+=String['fromCharCode'](0xff&_0x3d1c0d>>(-0x2*_0x199f16&0x6)):0x0){_0x373b52=_0x3986cf['indexOf'](_0x373b52);}for(var _0x5c7148=0x0,_0x4743f7=_0x280cf6['length'];_0x5c7148<_0x4743f7;_0x5c7148++){_0x47f04f+='%'+('00'+_0x280cf6['charCodeAt'](_0x5c7148)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47f04f);};_0x754a['NiUsRV']=_0x34f402,_0x754a['xfrGGM']={},_0x754a['bYgzQa']=!![];}var _0x28d2a4=_0x4f57ca[0x0],_0x1e2f52=_0xfccc23+_0x28d2a4,_0xc91559=_0x754a['xfrGGM'][_0x1e2f52];return!_0xc91559?(_0x754adf=_0x754a['NiUsRV'](_0x754adf),_0x754a['xfrGGM'][_0x1e2f52]=_0x754adf):_0x754adf=_0xc91559,_0x754adf;}function ownKeys(_0x199f16,_0x3d1c0d){var _0x2c3356=_0x754a,_0x373b52=Object[_0x2c3356(0x1b3)](_0x199f16);if(Object[_0x2c3356(0x172)]){var _0xabe587=Object['getOwnPropertySymbols'](_0x199f16);_0x3d1c0d&&(_0xabe587=_0xabe587[_0x2c3356(0x1d1)](function(_0x5c7148){var _0x38ca1a=_0x2c3356;return Object[_0x38ca1a(0x20e)](_0x199f16,_0x5c7148)[_0x38ca1a(0x1af)];})),_0x373b52[_0x2c3356(0x1b7)][_0x2c3356(0x227)](_0x373b52,_0xabe587);}return _0x373b52;}function _objectSpread(_0x4743f7){var _0x268a97=_0x754a;for(var _0x57b713=0x1;_0x57b713<arguments[_0x268a97(0x1f3)];_0x57b713++){var _0x4765d7=null!=arguments[_0x57b713]?arguments[_0x57b713]:{};_0x57b713%0x2?ownKeys(Object(_0x4765d7),!0x0)[_0x268a97(0x1eb)](function(_0x2fdcbc){_defineProperty(_0x4743f7,_0x2fdcbc,_0x4765d7[_0x2fdcbc]);}):Object[_0x268a97(0x199)]?Object['defineProperties'](_0x4743f7,Object[_0x268a97(0x199)](_0x4765d7)):ownKeys(Object(_0x4765d7))['forEach'](function(_0x5417be){var _0x3c3cb2=_0x268a97;Object['defineProperty'](_0x4743f7,_0x5417be,Object[_0x3c3cb2(0x20e)](_0x4765d7,_0x5417be));});}return _0x4743f7;}function _toConsumableArray(_0x471ba2){return _arrayWithoutHoles(_0x471ba2)||_iterableToArray(_0x471ba2)||_unsupportedIterableToArray(_0x471ba2)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError('Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');}function _iterableToArray(_0x1ba865){var _0x3c217f=_0x754a;if(typeof Symbol!=='undefined'&&_0x1ba865[Symbol['iterator']]!=null||_0x1ba865[_0x3c217f(0x179)]!=null)return Array['from'](_0x1ba865);}function _arrayWithoutHoles(_0xe22def){var _0x4c6d04=_0x754a;if(Array[_0x4c6d04(0x247)](_0xe22def))return _arrayLikeToArray(_0xe22def);}function _regeneratorRuntime(){'use strict';var _0x18fb2e=_0x754a;_regeneratorRuntime=function _0x4a8d8e(){return _0x5bdcaf;};var _0x459fcf,_0x5bdcaf={},_0x33d051=Object[_0x18fb2e(0x1ef)],_0x60bba8=_0x33d051[_0x18fb2e(0x189)],_0x1f00c6=Object[_0x18fb2e(0x225)]||function(_0x18276e,_0x1ada5b,_0x4848dd){var _0x5e227b=_0x18fb2e;_0x18276e[_0x1ada5b]=_0x4848dd[_0x5e227b(0x22c)];},_0x48dd68='function'==typeof Symbol?Symbol:{},_0x118994=_0x48dd68['iterator']||_0x18fb2e(0x179),_0x13d796=_0x48dd68[_0x18fb2e(0x20f)]||_0x18fb2e(0x234),_0x1d2768=_0x48dd68['toStringTag']||'@@toStringTag';function _0x3eb029(_0x400d69,_0x525b31,_0x1ffd6b){return Object['defineProperty'](_0x400d69,_0x525b31,{'value':_0x1ffd6b,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}),_0x400d69[_0x525b31];}try{_0x3eb029({},'');}catch(_0x13985c){_0x3eb029=function _0x5f0377(_0x2bbaaa,_0x13c1f7,_0x1ff4d5){return _0x2bbaaa[_0x13c1f7]=_0x1ff4d5;};}function _0x1816e7(_0xed0229,_0x240893,_0xc976c1,_0x40b9b3){var _0x4faaeb=_0x18fb2e,_0x26ffc1=_0x240893&&_0x240893[_0x4faaeb(0x1ef)]instanceof _0x2f9733?_0x240893:_0x2f9733,_0x2161c5=Object[_0x4faaeb(0x1ae)](_0x26ffc1[_0x4faaeb(0x1ef)]),_0x1cc4f3=new _0x3f5bc7(_0x40b9b3||[]);return _0x1f00c6(_0x2161c5,'_invoke',{'value':_0x10b2b9(_0xed0229,_0xc976c1,_0x1cc4f3)}),_0x2161c5;}function _0x4e6a28(_0x3a7f0b,_0x4ae2d9,_0xc4e049){var _0xbfeea5=_0x18fb2e;try{return{'type':_0xbfeea5(0x21e),'arg':_0x3a7f0b['call'](_0x4ae2d9,_0xc4e049)};}catch(_0x3f02e2){return{'type':'throw','arg':_0x3f02e2};}}_0x5bdcaf['wrap']=_0x1816e7;var _0x3c0a6e='suspendedStart',_0x5c01f0='suspendedYield',_0x31a6d1='executing',_0x2cb11d='completed',_0x1e204a={};function _0x2f9733(){}function _0x3027d0(){}function _0x2dfff4(){}var _0x4eb28b={};_0x3eb029(_0x4eb28b,_0x118994,function(){return this;});var _0x368d40=Object['getPrototypeOf'],_0x4e0bdb=_0x368d40&&_0x368d40(_0x368d40(_0x27c92c([])));_0x4e0bdb&&_0x4e0bdb!==_0x33d051&&_0x60bba8[_0x18fb2e(0x235)](_0x4e0bdb,_0x118994)&&(_0x4eb28b=_0x4e0bdb);var _0x5f4f53=_0x2dfff4[_0x18fb2e(0x1ef)]=_0x2f9733['prototype']=Object['create'](_0x4eb28b);function _0x48deaa(_0x16ffde){var _0x11d786=_0x18fb2e;['next',_0x11d786(0x212),'return'][_0x11d786(0x1eb)](function(_0x5e3a8a){_0x3eb029(_0x16ffde,_0x5e3a8a,function(_0x497ea2){var _0x47ec36=_0x754a;return this[_0x47ec36(0x1fd)](_0x5e3a8a,_0x497ea2);});});}function _0x17021c(_0x3ff025,_0x124300){var _0x1d9cee=_0x18fb2e;function _0x3347f1(_0x81eb24,_0x135d5a,_0x2be82d,_0x163c0b){var _0x57b945=_0x754a,_0x2d1d0b=_0x4e6a28(_0x3ff025[_0x81eb24],_0x3ff025,_0x135d5a);if(_0x57b945(0x212)!==_0x2d1d0b[_0x57b945(0x18c)]){var _0x236255=_0x2d1d0b[_0x57b945(0x256)],_0x117d4b=_0x236255['value'];return _0x117d4b&&'object'==_typeof(_0x117d4b)&&_0x60bba8['call'](_0x117d4b,'__await')?_0x124300['resolve'](_0x117d4b['__await'])[_0x57b945(0x1da)](function(_0x5daf9b){_0x3347f1('next',_0x5daf9b,_0x2be82d,_0x163c0b);},function(_0xdfb6d7){_0x3347f1('throw',_0xdfb6d7,_0x2be82d,_0x163c0b);}):_0x124300['resolve'](_0x117d4b)['then'](function(_0x53acdb){var _0x482a28=_0x57b945;_0x236255[_0x482a28(0x22c)]=_0x53acdb,_0x2be82d(_0x236255);},function(_0x57e344){return _0x3347f1('throw',_0x57e344,_0x2be82d,_0x163c0b);});}_0x163c0b(_0x2d1d0b['arg']);}var _0x426b5a;_0x1f00c6(this,_0x1d9cee(0x1fd),{'value':function _0x1427fd(_0x403f5,_0x1d262d){function _0x4b3475(){return new _0x124300(function(_0x5ebbdc,_0x8485bd){_0x3347f1(_0x403f5,_0x1d262d,_0x5ebbdc,_0x8485bd);});}return _0x426b5a=_0x426b5a?_0x426b5a['then'](_0x4b3475,_0x4b3475):_0x4b3475();}});}function _0x10b2b9(_0x7f64f0,_0x2938b2,_0x5b3364){var _0x131525=_0x3c0a6e;return function(_0x28a37c,_0x2edc20){var _0x95fb0a=_0x754a;if(_0x131525===_0x31a6d1)throw new Error(_0x95fb0a(0x25e));if(_0x131525===_0x2cb11d){if('throw'===_0x28a37c)throw _0x2edc20;return{'value':_0x459fcf,'done':!0x0};}for(_0x5b3364['method']=_0x28a37c,_0x5b3364['arg']=_0x2edc20;;){var _0xccf38a=_0x5b3364[_0x95fb0a(0x16a)];if(_0xccf38a){var _0x1783b4=_0x5e3b42(_0xccf38a,_0x5b3364);if(_0x1783b4){if(_0x1783b4===_0x1e204a)continue;return _0x1783b4;}}if('next'===_0x5b3364['method'])_0x5b3364['sent']=_0x5b3364['_sent']=_0x5b3364['arg'];else{if(_0x95fb0a(0x212)===_0x5b3364['method']){if(_0x131525===_0x3c0a6e)throw _0x131525=_0x2cb11d,_0x5b3364[_0x95fb0a(0x256)];_0x5b3364[_0x95fb0a(0x186)](_0x5b3364['arg']);}else _0x95fb0a(0x175)===_0x5b3364['method']&&_0x5b3364[_0x95fb0a(0x241)]('return',_0x5b3364['arg']);}_0x131525=_0x31a6d1;var _0x3bebc2=_0x4e6a28(_0x7f64f0,_0x2938b2,_0x5b3364);if(_0x95fb0a(0x21e)===_0x3bebc2['type']){if(_0x131525=_0x5b3364['done']?_0x2cb11d:_0x5c01f0,_0x3bebc2[_0x95fb0a(0x256)]===_0x1e204a)continue;return{'value':_0x3bebc2[_0x95fb0a(0x256)],'done':_0x5b3364['done']};}'throw'===_0x3bebc2[_0x95fb0a(0x18c)]&&(_0x131525=_0x2cb11d,_0x5b3364['method']='throw',_0x5b3364[_0x95fb0a(0x256)]=_0x3bebc2[_0x95fb0a(0x256)]);}};}function _0x5e3b42(_0xf17fd2,_0x1117ea){var _0x12e50e=_0x18fb2e,_0xb0cfcd=_0x1117ea[_0x12e50e(0x21f)],_0x2411d1=_0xf17fd2['iterator'][_0xb0cfcd];if(_0x2411d1===_0x459fcf)return _0x1117ea['delegate']=null,'throw'===_0xb0cfcd&&_0xf17fd2['iterator']['return']&&(_0x1117ea['method']='return',_0x1117ea[_0x12e50e(0x256)]=_0x459fcf,_0x5e3b42(_0xf17fd2,_0x1117ea),_0x12e50e(0x212)===_0x1117ea[_0x12e50e(0x21f)])||'return'!==_0xb0cfcd&&(_0x1117ea[_0x12e50e(0x21f)]=_0x12e50e(0x212),_0x1117ea[_0x12e50e(0x256)]=new TypeError('The\x20iterator\x20does\x20not\x20provide\x20a\x20\x27'+_0xb0cfcd+_0x12e50e(0x239))),_0x1e204a;var _0x38bd4e=_0x4e6a28(_0x2411d1,_0xf17fd2['iterator'],_0x1117ea[_0x12e50e(0x256)]);if('throw'===_0x38bd4e[_0x12e50e(0x18c)])return _0x1117ea['method']='throw',_0x1117ea[_0x12e50e(0x256)]=_0x38bd4e['arg'],_0x1117ea['delegate']=null,_0x1e204a;var _0x2858a4=_0x38bd4e['arg'];return _0x2858a4?_0x2858a4['done']?(_0x1117ea[_0xf17fd2[_0x12e50e(0x248)]]=_0x2858a4['value'],_0x1117ea['next']=_0xf17fd2[_0x12e50e(0x1ce)],'return'!==_0x1117ea[_0x12e50e(0x21f)]&&(_0x1117ea[_0x12e50e(0x21f)]='next',_0x1117ea[_0x12e50e(0x256)]=_0x459fcf),_0x1117ea['delegate']=null,_0x1e204a):_0x2858a4:(_0x1117ea[_0x12e50e(0x21f)]=_0x12e50e(0x212),_0x1117ea['arg']=new TypeError('iterator\x20result\x20is\x20not\x20an\x20object'),_0x1117ea[_0x12e50e(0x16a)]=null,_0x1e204a);}function _0x1eac0c(_0x8bece5){var _0x23c26f=_0x18fb2e,_0xc5c32b={'tryLoc':_0x8bece5[0x0]};0x1 in _0x8bece5&&(_0xc5c32b['catchLoc']=_0x8bece5[0x1]),0x2 in _0x8bece5&&(_0xc5c32b[_0x23c26f(0x1a5)]=_0x8bece5[0x2],_0xc5c32b[_0x23c26f(0x1c0)]=_0x8bece5[0x3]),this[_0x23c26f(0x185)][_0x23c26f(0x1b7)](_0xc5c32b);}function _0x4785e1(_0x38914d){var _0x8d8426=_0x18fb2e,_0x5ced4d=_0x38914d[_0x8d8426(0x1dc)]||{};_0x5ced4d['type']='normal',delete _0x5ced4d[_0x8d8426(0x256)],_0x38914d['completion']=_0x5ced4d;}function _0x3f5bc7(_0x3e25a6){var _0x5326c2=_0x18fb2e;this['tryEntries']=[{'tryLoc':'root'}],_0x3e25a6[_0x5326c2(0x1eb)](_0x1eac0c,this),this['reset'](!0x0);}function _0x27c92c(_0x44942d){var _0x1929af=_0x18fb2e;if(_0x44942d||''===_0x44942d){var _0xd7ede7=_0x44942d[_0x118994];if(_0xd7ede7)return _0xd7ede7[_0x1929af(0x235)](_0x44942d);if('function'==typeof _0x44942d[_0x1929af(0x252)])return _0x44942d;if(!isNaN(_0x44942d['length'])){var _0x29e481=-0x1,_0x5a9355=function _0x48060c(){var _0x5bf23f=_0x1929af;for(;++_0x29e481<_0x44942d['length'];)if(_0x60bba8[_0x5bf23f(0x235)](_0x44942d,_0x29e481))return _0x48060c[_0x5bf23f(0x22c)]=_0x44942d[_0x29e481],_0x48060c['done']=!0x1,_0x48060c;return _0x48060c[_0x5bf23f(0x22c)]=_0x459fcf,_0x48060c[_0x5bf23f(0x216)]=!0x0,_0x48060c;};return _0x5a9355['next']=_0x5a9355;}}throw new TypeError(_typeof(_0x44942d)+'\x20is\x20not\x20iterable');}return _0x3027d0['prototype']=_0x2dfff4,_0x1f00c6(_0x5f4f53,_0x18fb2e(0x16f),{'value':_0x2dfff4,'configurable':!0x0}),_0x1f00c6(_0x2dfff4,'constructor',{'value':_0x3027d0,'configurable':!0x0}),_0x3027d0['displayName']=_0x3eb029(_0x2dfff4,_0x1d2768,_0x18fb2e(0x236)),_0x5bdcaf['isGeneratorFunction']=function(_0x132a4d){var _0x5f3a46=_0x18fb2e,_0x309d30=_0x5f3a46(0x16b)==typeof _0x132a4d&&_0x132a4d['constructor'];return!!_0x309d30&&(_0x309d30===_0x3027d0||'GeneratorFunction'===(_0x309d30['displayName']||_0x309d30[_0x5f3a46(0x1c4)]));},_0x5bdcaf['mark']=function(_0x5a9623){var _0x20ca12=_0x18fb2e;return Object[_0x20ca12(0x17c)]?Object['setPrototypeOf'](_0x5a9623,_0x2dfff4):(_0x5a9623[_0x20ca12(0x213)]=_0x2dfff4,_0x3eb029(_0x5a9623,_0x1d2768,_0x20ca12(0x236))),_0x5a9623[_0x20ca12(0x1ef)]=Object['create'](_0x5f4f53),_0x5a9623;},_0x5bdcaf[_0x18fb2e(0x24c)]=function(_0x23bc6c){return{'__await':_0x23bc6c};},_0x48deaa(_0x17021c[_0x18fb2e(0x1ef)]),_0x3eb029(_0x17021c[_0x18fb2e(0x1ef)],_0x13d796,function(){return this;}),_0x5bdcaf['AsyncIterator']=_0x17021c,_0x5bdcaf[_0x18fb2e(0x1b9)]=function(_0x2c4003,_0xcf15bc,_0x21eaf1,_0x36da0f,_0x23ceb5){void 0x0===_0x23ceb5&&(_0x23ceb5=Promise);var _0x4071f3=new _0x17021c(_0x1816e7(_0x2c4003,_0xcf15bc,_0x21eaf1,_0x36da0f),_0x23ceb5);return _0x5bdcaf['isGeneratorFunction'](_0xcf15bc)?_0x4071f3:_0x4071f3['next']()['then'](function(_0x2b4d0e){var _0x162a0c=_0x754a;return _0x2b4d0e['done']?_0x2b4d0e[_0x162a0c(0x22c)]:_0x4071f3[_0x162a0c(0x252)]();});},_0x48deaa(_0x5f4f53),_0x3eb029(_0x5f4f53,_0x1d2768,_0x18fb2e(0x219)),_0x3eb029(_0x5f4f53,_0x118994,function(){return this;}),_0x3eb029(_0x5f4f53,_0x18fb2e(0x1a0),function(){var _0x4945ba=_0x18fb2e;return _0x4945ba(0x17b);}),_0x5bdcaf[_0x18fb2e(0x1b3)]=function(_0x188c8a){var _0x4774e6=_0x18fb2e,_0x38d9d3=Object(_0x188c8a),_0x18fa8d=[];for(var _0x2d64f5 in _0x38d9d3)_0x18fa8d['push'](_0x2d64f5);return _0x18fa8d[_0x4774e6(0x1f9)](),function _0x4b46c7(){var _0x570b97=_0x4774e6;for(;_0x18fa8d[_0x570b97(0x1f3)];){var _0x168daf=_0x18fa8d['pop']();if(_0x168daf in _0x38d9d3)return _0x4b46c7['value']=_0x168daf,_0x4b46c7[_0x570b97(0x216)]=!0x1,_0x4b46c7;}return _0x4b46c7[_0x570b97(0x216)]=!0x0,_0x4b46c7;};},_0x5bdcaf['values']=_0x27c92c,_0x3f5bc7['prototype']={'constructor':_0x3f5bc7,'reset':function _0x4b7cc5(_0x50b221){var _0x5eb431=_0x18fb2e;if(this[_0x5eb431(0x203)]=0x0,this[_0x5eb431(0x252)]=0x0,this['sent']=this[_0x5eb431(0x21c)]=_0x459fcf,this[_0x5eb431(0x216)]=!0x1,this['delegate']=null,this['method']='next',this['arg']=_0x459fcf,this['tryEntries'][_0x5eb431(0x1eb)](_0x4785e1),!_0x50b221){for(var _0x47d10d in this)'t'===_0x47d10d[_0x5eb431(0x254)](0x0)&&_0x60bba8[_0x5eb431(0x235)](this,_0x47d10d)&&!isNaN(+_0x47d10d[_0x5eb431(0x220)](0x1))&&(this[_0x47d10d]=_0x459fcf);}},'stop':function _0xe93305(){var _0xc6ead8=_0x18fb2e;this['done']=!0x0;var _0x37f091=this[_0xc6ead8(0x185)][0x0][_0xc6ead8(0x1dc)];if('throw'===_0x37f091[_0xc6ead8(0x18c)])throw _0x37f091['arg'];return this['rval'];},'dispatchException':function _0x198144(_0x278801){var _0x1be701=_0x18fb2e;if(this['done'])throw _0x278801;var _0x54f3a8=this;function _0x44668f(_0x387bbe,_0x292b3f){var _0x5d465b=_0x754a;return _0x243639['type']='throw',_0x243639[_0x5d465b(0x256)]=_0x278801,_0x54f3a8['next']=_0x387bbe,_0x292b3f&&(_0x54f3a8[_0x5d465b(0x21f)]='next',_0x54f3a8['arg']=_0x459fcf),!!_0x292b3f;}for(var _0x47ad99=this[_0x1be701(0x185)][_0x1be701(0x1f3)]-0x1;_0x47ad99>=0x0;--_0x47ad99){var _0x42a1ee=this['tryEntries'][_0x47ad99],_0x243639=_0x42a1ee['completion'];if('root'===_0x42a1ee[_0x1be701(0x1df)])return _0x44668f(_0x1be701(0x1a8));if(_0x42a1ee[_0x1be701(0x1df)]<=this['prev']){var _0x46fd88=_0x60bba8['call'](_0x42a1ee,'catchLoc'),_0x417695=_0x60bba8[_0x1be701(0x235)](_0x42a1ee,'finallyLoc');if(_0x46fd88&&_0x417695){if(this[_0x1be701(0x203)]<_0x42a1ee['catchLoc'])return _0x44668f(_0x42a1ee['catchLoc'],!0x0);if(this['prev']<_0x42a1ee['finallyLoc'])return _0x44668f(_0x42a1ee['finallyLoc']);}else{if(_0x46fd88){if(this['prev']<_0x42a1ee['catchLoc'])return _0x44668f(_0x42a1ee[_0x1be701(0x18f)],!0x0);}else{if(!_0x417695)throw new Error('try\x20statement\x20without\x20catch\x20or\x20finally');if(this[_0x1be701(0x203)]<_0x42a1ee['finallyLoc'])return _0x44668f(_0x42a1ee['finallyLoc']);}}}}},'abrupt':function _0x3d62f0(_0x22f2fd,_0x526754){var _0x3c5bf5=_0x18fb2e;for(var _0x11518d=this['tryEntries'][_0x3c5bf5(0x1f3)]-0x1;_0x11518d>=0x0;--_0x11518d){var _0x166c40=this[_0x3c5bf5(0x185)][_0x11518d];if(_0x166c40['tryLoc']<=this[_0x3c5bf5(0x203)]&&_0x60bba8['call'](_0x166c40,'finallyLoc')&&this['prev']<_0x166c40['finallyLoc']){var _0xeab99c=_0x166c40;break;}}_0xeab99c&&(_0x3c5bf5(0x17e)===_0x22f2fd||'continue'===_0x22f2fd)&&_0xeab99c['tryLoc']<=_0x526754&&_0x526754<=_0xeab99c[_0x3c5bf5(0x1a5)]&&(_0xeab99c=null);var _0x2b8d9c=_0xeab99c?_0xeab99c['completion']:{};return _0x2b8d9c['type']=_0x22f2fd,_0x2b8d9c[_0x3c5bf5(0x256)]=_0x526754,_0xeab99c?(this['method']='next',this[_0x3c5bf5(0x252)]=_0xeab99c['finallyLoc'],_0x1e204a):this['complete'](_0x2b8d9c);},'complete':function _0x26cc49(_0x4d2934,_0x5e42a9){var _0x569349=_0x18fb2e;if('throw'===_0x4d2934[_0x569349(0x18c)])throw _0x4d2934[_0x569349(0x256)];return'break'===_0x4d2934['type']||_0x569349(0x20a)===_0x4d2934['type']?this['next']=_0x4d2934[_0x569349(0x256)]:'return'===_0x4d2934['type']?(this['rval']=this[_0x569349(0x256)]=_0x4d2934['arg'],this[_0x569349(0x21f)]='return',this[_0x569349(0x252)]=_0x569349(0x1a8)):'normal'===_0x4d2934[_0x569349(0x18c)]&&_0x5e42a9&&(this[_0x569349(0x252)]=_0x5e42a9),_0x1e204a;},'finish':function _0x181bef(_0x283028){var _0x185fb3=_0x18fb2e;for(var _0x1832cf=this[_0x185fb3(0x185)]['length']-0x1;_0x1832cf>=0x0;--_0x1832cf){var _0x16eb7e=this['tryEntries'][_0x1832cf];if(_0x16eb7e[_0x185fb3(0x1a5)]===_0x283028)return this[_0x185fb3(0x1f2)](_0x16eb7e[_0x185fb3(0x1dc)],_0x16eb7e[_0x185fb3(0x1c0)]),_0x4785e1(_0x16eb7e),_0x1e204a;}},'catch':function _0x2d05d8(_0x5f02a7){var _0x41eb11=_0x18fb2e;for(var _0x5982f4=this[_0x41eb11(0x185)][_0x41eb11(0x1f3)]-0x1;_0x5982f4>=0x0;--_0x5982f4){var _0x4aaa6e=this['tryEntries'][_0x5982f4];if(_0x4aaa6e['tryLoc']===_0x5f02a7){var _0x5ad63c=_0x4aaa6e['completion'];if(_0x41eb11(0x212)===_0x5ad63c['type']){var _0x38b755=_0x5ad63c[_0x41eb11(0x256)];_0x4785e1(_0x4aaa6e);}return _0x38b755;}}throw new Error('illegal\x20catch\x20attempt');},'delegateYield':function _0x325db2(_0x21a780,_0x2f3336,_0x16d262){var _0x4ef88d=_0x18fb2e;return this['delegate']={'iterator':_0x27c92c(_0x21a780),'resultName':_0x2f3336,'nextLoc':_0x16d262},'next'===this[_0x4ef88d(0x21f)]&&(this['arg']=_0x459fcf),_0x1e204a;}},_0x5bdcaf;}function asyncGeneratorStep(_0x4a864f,_0xcfd242,_0x4436f7,_0x55532f,_0xcd7762,_0x542260,_0x4d9e41){var _0x18b09a=_0x754a;try{var _0x3b3df1=_0x4a864f[_0x542260](_0x4d9e41),_0x242177=_0x3b3df1[_0x18b09a(0x22c)];}catch(_0x3325f9){_0x4436f7(_0x3325f9);return;}_0x3b3df1[_0x18b09a(0x216)]?_0xcfd242(_0x242177):Promise[_0x18b09a(0x24d)](_0x242177)['then'](_0x55532f,_0xcd7762);}function _asyncToGenerator(_0x598cff){return function(){var _0x40fe66=this,_0x2419ed=arguments;return new Promise(function(_0x13938f,_0x2a16bf){var _0x42e3a3=_0x598cff['apply'](_0x40fe66,_0x2419ed);function _0x16f8eb(_0x42ea1e){var _0x549d81=_0x754a;asyncGeneratorStep(_0x42e3a3,_0x13938f,_0x2a16bf,_0x16f8eb,_0x3aa48e,_0x549d81(0x252),_0x42ea1e);}function _0x3aa48e(_0x1b56ff){asyncGeneratorStep(_0x42e3a3,_0x13938f,_0x2a16bf,_0x16f8eb,_0x3aa48e,'throw',_0x1b56ff);}_0x16f8eb(undefined);});};}function _createForOfIteratorHelper(_0x25a7aa,_0x4235e5){var _0x24008b=_0x754a,_0x5a2a66=typeof Symbol!==_0x24008b(0x1dd)&&_0x25a7aa[Symbol['iterator']]||_0x25a7aa[_0x24008b(0x179)];if(!_0x5a2a66){if(Array['isArray'](_0x25a7aa)||(_0x5a2a66=_unsupportedIterableToArray(_0x25a7aa))||_0x4235e5&&_0x25a7aa&&typeof _0x25a7aa[_0x24008b(0x1f3)]==='number'){if(_0x5a2a66)_0x25a7aa=_0x5a2a66;var _0x2d57b5=0x0,_0x16eab5=function _0x73a83(){};return{'s':_0x16eab5,'n':function _0x58865a(){var _0x4ffea1=_0x24008b;if(_0x2d57b5>=_0x25a7aa[_0x4ffea1(0x1f3)])return{'done':!![]};return{'done':![],'value':_0x25a7aa[_0x2d57b5++]};},'e':function _0x5ecd3a(_0x33d37f){throw _0x33d37f;},'f':_0x16eab5};}throw new TypeError(_0x24008b(0x1ed));}var _0x39c3e9=!![],_0x3c0e4a=![],_0x246bb2;return{'s':function _0x447eaa(){_0x5a2a66=_0x5a2a66['call'](_0x25a7aa);},'n':function _0x15176a(){var _0x403005=_0x24008b,_0x35ebd0=_0x5a2a66['next']();return _0x39c3e9=_0x35ebd0[_0x403005(0x216)],_0x35ebd0;},'e':function _0x1f9aa5(_0x1c7626){_0x3c0e4a=!![],_0x246bb2=_0x1c7626;},'f':function _0x593650(){var _0x219b7c=_0x24008b;try{if(!_0x39c3e9&&_0x5a2a66['return']!=null)_0x5a2a66[_0x219b7c(0x175)]();}finally{if(_0x3c0e4a)throw _0x246bb2;}}};}function _slicedToArray(_0x42adb7,_0x323ff6){return _arrayWithHoles(_0x42adb7)||_iterableToArrayLimit(_0x42adb7,_0x323ff6)||_unsupportedIterableToArray(_0x42adb7,_0x323ff6)||_nonIterableRest();}function _nonIterableRest(){var _0x499b40=_0x754a;throw new TypeError(_0x499b40(0x19c));}function _unsupportedIterableToArray(_0x301a11,_0x1dcbb2){var _0x492002=_0x754a;if(!_0x301a11)return;if(typeof _0x301a11===_0x492002(0x1cb))return _arrayLikeToArray(_0x301a11,_0x1dcbb2);var _0x206639=Object[_0x492002(0x1ef)][_0x492002(0x1a0)]['call'](_0x301a11)['slice'](0x8,-0x1);if(_0x206639==='Object'&&_0x301a11[_0x492002(0x16f)])_0x206639=_0x301a11[_0x492002(0x16f)][_0x492002(0x1c4)];if(_0x206639==='Map'||_0x206639===_0x492002(0x230))return Array['from'](_0x301a11);if(_0x206639==='Arguments'||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x206639))return _arrayLikeToArray(_0x301a11,_0x1dcbb2);}function _arrayLikeToArray(_0x868460,_0x24f537){var _0x36319b=_0x754a;if(_0x24f537==null||_0x24f537>_0x868460[_0x36319b(0x1f3)])_0x24f537=_0x868460[_0x36319b(0x1f3)];for(var _0x31c17b=0x0,_0x31396c=new Array(_0x24f537);_0x31c17b<_0x24f537;_0x31c17b++)_0x31396c[_0x31c17b]=_0x868460[_0x31c17b];return _0x31396c;}function _iterableToArrayLimit(_0x41555a,_0x31e7ea){var _0x25b413=_0x754a,_0x5c226b=null==_0x41555a?null:_0x25b413(0x1dd)!=typeof Symbol&&_0x41555a[Symbol[_0x25b413(0x1f6)]]||_0x41555a[_0x25b413(0x179)];if(null!=_0x5c226b){var _0x5b8032,_0x3ab8d2,_0x54de7e,_0x3655e7,_0x1bb534=[],_0x31e199=!0x0,_0x3c7f12=!0x1;try{if(_0x54de7e=(_0x5c226b=_0x5c226b['call'](_0x41555a))[_0x25b413(0x252)],0x0===_0x31e7ea){if(Object(_0x5c226b)!==_0x5c226b)return;_0x31e199=!0x1;}else{for(;!(_0x31e199=(_0x5b8032=_0x54de7e[_0x25b413(0x235)](_0x5c226b))['done'])&&(_0x1bb534['push'](_0x5b8032[_0x25b413(0x22c)]),_0x1bb534[_0x25b413(0x1f3)]!==_0x31e7ea);_0x31e199=!0x0);}}catch(_0x55c96a){_0x3c7f12=!0x0,_0x3ab8d2=_0x55c96a;}finally{try{if(!_0x31e199&&null!=_0x5c226b[_0x25b413(0x175)]&&(_0x3655e7=_0x5c226b[_0x25b413(0x175)](),Object(_0x3655e7)!==_0x3655e7))return;}finally{if(_0x3c7f12)throw _0x3ab8d2;}}return _0x1bb534;}}function _arrayWithHoles(_0x13a13b){var _0x16f21d=_0x754a;if(Array[_0x16f21d(0x247)](_0x13a13b))return _0x13a13b;}function _typeof(_0x18c85f){'@babel/helpers - typeof';var _0x269b59=_0x754a;return _typeof=_0x269b59(0x16b)==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(_0x3e19f0){return typeof _0x3e19f0;}:function(_0xec56d6){var _0x409128=_0x269b59;return _0xec56d6&&_0x409128(0x16b)==typeof Symbol&&_0xec56d6[_0x409128(0x16f)]===Symbol&&_0xec56d6!==Symbol['prototype']?'symbol':typeof _0xec56d6;},_typeof(_0x18c85f);}function _classCallCheck(_0x2d3d44,_0x10bd49){var _0x2e51a6=_0x754a;if(!(_0x2d3d44 instanceof _0x10bd49))throw new TypeError(_0x2e51a6(0x22b));}function _defineProperties(_0x8b8270,_0x87a9cd){var _0x42a7d8=_0x754a;for(var _0x3622a9=0x0;_0x3622a9<_0x87a9cd['length'];_0x3622a9++){var _0x28711a=_0x87a9cd[_0x3622a9];_0x28711a[_0x42a7d8(0x1af)]=_0x28711a['enumerable']||![],_0x28711a['configurable']=!![];if('value'in _0x28711a)_0x28711a['writable']=!![];Object['defineProperty'](_0x8b8270,_toPropertyKey(_0x28711a[_0x42a7d8(0x16e)]),_0x28711a);}}function _createClass(_0x39b9d7,_0x309b12,_0x42345c){var _0x21e667=_0x754a;if(_0x309b12)_defineProperties(_0x39b9d7['prototype'],_0x309b12);if(_0x42345c)_defineProperties(_0x39b9d7,_0x42345c);return Object[_0x21e667(0x225)](_0x39b9d7,'prototype',{'writable':![]}),_0x39b9d7;}function _defineProperty(_0x2b7fd1,_0x232caf,_0x16c947){var _0xca918f=_0x754a;return _0x232caf=_toPropertyKey(_0x232caf),_0x232caf in _0x2b7fd1?Object[_0xca918f(0x225)](_0x2b7fd1,_0x232caf,{'value':_0x16c947,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x2b7fd1[_0x232caf]=_0x16c947,_0x2b7fd1;}function _toPropertyKey(_0xf83059){var _0x319b4b=_0x754a,_0x50959a=_toPrimitive(_0xf83059,_0x319b4b(0x1cb));return'symbol'==_typeof(_0x50959a)?_0x50959a:String(_0x50959a);}function _toPrimitive(_0x29c969,_0x1c5ddc){var _0x31a78c=_0x754a;if('object'!=_typeof(_0x29c969)||!_0x29c969)return _0x29c969;var _0x5e1097=_0x29c969[Symbol[_0x31a78c(0x1b2)]];if(void 0x0!==_0x5e1097){var _0x5b5ec6=_0x5e1097[_0x31a78c(0x235)](_0x29c969,_0x1c5ddc||_0x31a78c(0x238));if('object'!=_typeof(_0x5b5ec6))return _0x5b5ec6;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');}return('string'===_0x1c5ddc?String:Number)(_0x29c969);}import{decodeTile}from'@deepinnet/geojson-to-mvt';import*as _0x280cf6 from'deeptwins-cesium';import _0x47f04f from'./MvtVectorWorkerClient';var MVT_VECTOR_LOAD_EVENT_TYPES=['ready',_0x3e6e21(0x1f4),_0x3e6e21(0x1fc),_0x3e6e21(0x202),'tileEvict'],CesiumRuntime=_0x280cf6,CesiumMath=_0x280cf6[_0x3e6e21(0x250)];function addCesiumEventListener(_0x2d26f7,_0x1ec01a){var _0x3434cb=_0x3e6e21;return _0x2d26f7[_0x3434cb(0x1e1)](_0x1ec01a);}function removeAllEventListeners(_0x435571){var _0x301b37=_0x3e6e21,_0x3e71f0,_0x1e6af6;(_0x3e71f0=(_0x1e6af6=_0x435571)['removeAll'])===null||_0x3e71f0===void 0x0||_0x3e71f0[_0x301b37(0x235)](_0x1e6af6);}function createListenerRegistry(){return{'ready':[],'error':[],'tileLoad':[],'tileDisplay':[],'tileEvict':[]};}var MAX_CONCURRENT_TILE_REQUESTS=0x6,MvtVectorLoad=(function(){var _0x1dbe57=_0x3e6e21;function _0x5e0e92(_0x68281){var _0x590b65=_0x754a,_0x4495e7,_0x347f8b,_0x335497,_0xcaf3c8,_0x5ad247,_0x147a60,_0x778781,_0xe5e877=this,_0x4c621a=arguments['length']>0x1&&arguments[0x1]!==undefined?arguments[0x1]:{};_classCallCheck(this,_0x5e0e92),_defineProperty(this,_0x590b65(0x1c2),void 0x0),_defineProperty(this,'url',void 0x0),_defineProperty(this,_0x590b65(0x237),void 0x0),_defineProperty(this,'maximumLevel',void 0x0),_defineProperty(this,_0x590b65(0x25c),void 0x0),_defineProperty(this,'ready',void 0x0),_defineProperty(this,_0x590b65(0x19d),void 0x0),_defineProperty(this,'tilingScheme',void 0x0),_defineProperty(this,'readyEvent',void 0x0),_defineProperty(this,'errorEvent',void 0x0),_defineProperty(this,'tileLoadEvent',void 0x0),_defineProperty(this,_0x590b65(0x191),void 0x0),_defineProperty(this,_0x590b65(0x1bc),void 0x0),_defineProperty(this,_0x590b65(0x187),void 0x0),_defineProperty(this,_0x590b65(0x1c7),void 0x0),_defineProperty(this,_0x590b65(0x18a),void 0x0),_defineProperty(this,_0x590b65(0x1b8),void 0x0),_defineProperty(this,'_loadedTiles',void 0x0),_defineProperty(this,_0x590b65(0x24f),void 0x0),_defineProperty(this,_0x590b65(0x188),void 0x0),_defineProperty(this,'_pendingRequestTiles',void 0x0),_defineProperty(this,'_cacheOrder',void 0x0),_defineProperty(this,'_requestToken',void 0x0),_defineProperty(this,'_requestQueue',void 0x0),_defineProperty(this,'_queuedTileKeys',void 0x0),_defineProperty(this,_0x590b65(0x1d0),void 0x0),_defineProperty(this,'_levelZeroMaximumGeometricError',void 0x0),_defineProperty(this,_0x590b65(0x246),void 0x0),_defineProperty(this,_0x590b65(0x23c),void 0x0),_defineProperty(this,'_workerUrl',void 0x0),_defineProperty(this,_0x590b65(0x1ba),void 0x0),_defineProperty(this,'_listenerRegistry',void 0x0),_defineProperty(this,'_displayedTiles',void 0x0),_defineProperty(this,'_managedTileLayers',void 0x0),_defineProperty(this,_0x590b65(0x1e4),void 0x0),this[_0x590b65(0x1c2)]=_0x68281,this['url']=(_0x4495e7=_0x4c621a[_0x590b65(0x204)])!==null&&_0x4495e7!==void 0x0?_0x4495e7:'',this[_0x590b65(0x237)]=(_0x347f8b=_0x4c621a['minzoom'])!==null&&_0x347f8b!==void 0x0?_0x347f8b:0x0,this['maximumLevel']=(_0x335497=_0x4c621a[_0x590b65(0x228)])!==null&&_0x335497!==void 0x0?_0x335497:0x18,this[_0x590b65(0x25c)]=(_0xcaf3c8=_0x4c621a[_0x590b65(0x25c)])!==null&&_0xcaf3c8!==void 0x0?_0xcaf3c8:0x12c,this['_autoDisplayLayers']=(_0x5ad247=_0x4c621a[_0x590b65(0x1ca)])!==null&&_0x5ad247!==void 0x0?_0x5ad247:!![],this['_decodeWithWorker']=(_0x147a60=_0x4c621a[_0x590b65(0x207)])!==null&&_0x147a60!==void 0x0?_0x147a60:!![],this['_workerUrl']=(_0x778781=_0x4c621a[_0x590b65(0x229)])!==null&&_0x778781!==void 0x0?_0x778781:'',this[_0x590b65(0x1e8)]=![],this['zoom']=this[_0x590b65(0x24a)],this[_0x590b65(0x17a)]=new _0x280cf6[(_0x590b65(0x169))](),this['readyEvent']=new _0x280cf6[(_0x590b65(0x22a))](),this['errorEvent']=new _0x280cf6['Event'](),this['tileLoadEvent']=new _0x280cf6[(_0x590b65(0x22a))](),this['tileDisplayEvent']=new _0x280cf6[(_0x590b65(0x22a))](),this['tileEvictEvent']=new _0x280cf6[(_0x590b65(0x22a))](),this[_0x590b65(0x187)]=![],this['_initPromise']=null,this[_0x590b65(0x18a)]=[],this['_tilesToUpdate']=[],this['_loadedTiles']={},this[_0x590b65(0x24f)]=new Map(),this['_pendingRequestControllers']=new Map(),this['_pendingRequestTiles']=new Map(),this[_0x590b65(0x1e3)]=new Map(),this['_requestToken']=0x0,this[_0x590b65(0x209)]=[],this['_queuedTileKeys']=new Set(),this['_activeRequestCount']=0x0,this['_levelZeroMaximumGeometricError']=null,this[_0x590b65(0x1ba)]=null,this[_0x590b65(0x1c9)]=createListenerRegistry(),this['_displayedTiles']=new Map(),this[_0x590b65(0x17f)]=new Map(),this[_0x590b65(0x1e4)]=![],this['_addToMap']();var _0x1fa333=function _0x5e180f(){var _0x8d3b5c=_0x590b65;_0xe5e877[_0x8d3b5c(0x1ee)]()['catch'](function(){return undefined;});};if(typeof requestAnimationFrame==='function'){requestAnimationFrame(_0x1fa333);return;}Promise[_0x590b65(0x24d)]()[_0x590b65(0x1da)](_0x1fa333);}return _createClass(_0x5e0e92,[{'key':'getMap','value':function _0x349046(){var _0x2faf6e=_0x754a;return this[_0x2faf6e(0x1c2)][_0x2faf6e(0x218)]();}},{'key':'_addToMap','value':function _0x1a500c(){var _0x4e5421=_0x754a,_0xe245d=this['getMap']();if(!_0xe245d||this['_addedToMap'])return;if(typeof _0xe245d[_0x4e5421(0x1ac)]==='function'&&_0xe245d[_0x4e5421(0x1ac)]())return;_0xe245d[_0x4e5421(0x19e)][_0x4e5421(0x1f8)][_0x4e5421(0x181)](this),this['_addedToMap']=!![];}},{'key':_0x1dbe57(0x1a1),'value':function _0x4f7396(){var _0x2e3b43=_0x1dbe57,_0x1d1910=this[_0x2e3b43(0x218)](),_0x4d5931=this[_0x2e3b43(0x1e4)];this[_0x2e3b43(0x1e4)]=![];if(!_0x1d1910||!_0x4d5931)return;if(typeof _0x1d1910[_0x2e3b43(0x1ac)]===_0x2e3b43(0x16b)&&_0x1d1910[_0x2e3b43(0x1ac)]())return;_0x1d1910[_0x2e3b43(0x19e)][_0x2e3b43(0x1f8)]['remove'](this);}},{'key':_0x1dbe57(0x1ee),'value':function _0x13fda8(){var _0x280513=_0x1dbe57;return!this['_initPromise']&&(this['_initPromise']=this[_0x280513(0x183)]()),this[_0x280513(0x1c7)];}},{'key':'on','value':function _0x4dd997(_0x31f385,_0x28826b){var _0x5b4a25=_0x1dbe57,_0x492f5f=this,_0x463fff=this[_0x5b4a25(0x1d9)](_0x31f385),_0x252e16=this['_wrapEventHandler'](_0x31f385,_0x28826b),_0x5038fd={'original':_0x28826b,'wrapped':_0x252e16,'remove':function _0x3dc2b2(){return undefined;},'removed':![]};return _0x5038fd['remove']=addCesiumEventListener(_0x463fff,_0x5038fd['wrapped']),this[_0x5b4a25(0x1c9)][_0x31f385][_0x5b4a25(0x1b7)](_0x5038fd),{'off':function _0x519fea(){_0x492f5f['_removeRegisteredListener'](_0x31f385,_0x5038fd);}};}},{'key':'_wrapEventHandler','value':function _0x1ae6b3(_0x5d531a,_0x4c3373){var _0x590d7f=this;if(_0x5d531a!=='tileLoad')return _0x4c3373;var _0x5288da=_0x4c3373;return function(_0x396824){var _0x4bccaa=_0x754a,_0x4e8bf1=_0x5288da(_0x396824);if(_0x4e8bf1&&_typeof(_0x4e8bf1)===_0x4bccaa(0x240)&&_0x4bccaa(0x1da)in _0x4e8bf1)return Promise['resolve'](_0x4e8bf1)['then'](function(_0x3ed9f7){var _0x6bf40d=_0x4bccaa;return _0x590d7f[_0x6bf40d(0x197)](_0x396824,_0x3ed9f7),_0x590d7f[_0x6bf40d(0x1d6)](_0x590d7f['_tilesToUpdate']),_0x3ed9f7;})[_0x4bccaa(0x1ea)](function(_0x159f8c){var _0xf2cd3=_0x4bccaa;throw _0x590d7f[_0xf2cd3(0x177)](_0x590d7f['_toError'](_0x159f8c,'tileLoad\x20监听回调执行失败'));});return _0x590d7f[_0x4bccaa(0x197)](_0x396824,_0x4e8bf1),_0x590d7f['_syncTileDisplayState'](_0x590d7f['_tilesToUpdate']),_0x4e8bf1;};}},{'key':_0x1dbe57(0x1cd),'value':function _0x10b442(_0x5700a7,_0x2dfe85){var _0x43e271=_0x1dbe57,_0x5d9a9a=this['_listenerRegistry'][_0x5700a7],_0x9ac7c1=_0x5d9a9a['findIndex'](function(_0x124289){var _0x1ae2d3=_0x754a;return _0x124289['original']===_0x2dfe85&&!_0x124289[_0x1ae2d3(0x251)];});if(_0x9ac7c1===-0x1)return;var _0x92c4c4=_0x5d9a9a[_0x43e271(0x1e5)](_0x9ac7c1,0x1),_0x5d24d2=_slicedToArray(_0x92c4c4,0x1),_0x3cf0b1=_0x5d24d2[0x0];if(!_0x3cf0b1)return;_0x3cf0b1['removed']=!![],_0x3cf0b1['remove']();}},{'key':_0x1dbe57(0x1d9),'value':function _0xa5b9fa(_0x338fba){var _0x5e11d1=_0x1dbe57;switch(_0x338fba){case _0x5e11d1(0x1e8):return this[_0x5e11d1(0x182)];case'error':return this[_0x5e11d1(0x221)];case'tileLoad':return this['tileLoadEvent'];case'tileDisplay':return this[_0x5e11d1(0x191)];case'tileEvict':return this[_0x5e11d1(0x1bc)];default:throw this['_createInvalidEventTypeError'](String(_0x338fba));}}},{'key':'_createInvalidEventTypeError','value':function _0x3b99a4(_0x4bed94){var _0xaa6ac7=_0x1dbe57;return this[_0xaa6ac7(0x177)](new Error(_0xaa6ac7(0x1a9)['concat'](_0x4bed94,'\x22\uFF0C\u53EF\u9009\u503C\uFF1A')['concat'](MVT_VECTOR_LOAD_EVENT_TYPES[_0xaa6ac7(0x180)]('、'))));}},{'key':_0x1dbe57(0x1c5),'value':function _0x42f83c(_0x3a5442,_0xb6b8c9){var _0x2a38bc=_0x1dbe57;if(_0xb6b8c9[_0x2a38bc(0x251)])return;_0xb6b8c9[_0x2a38bc(0x251)]=!![];var _0x45d2af=this[_0x2a38bc(0x1c9)][_0x3a5442],_0x40ef59=_0x45d2af[_0x2a38bc(0x22e)](_0xb6b8c9);_0x40ef59!==-0x1&&_0x45d2af['splice'](_0x40ef59,0x1),_0xb6b8c9['remove']();}},{'key':'_clearListenerRegistry','value':function _0x51961e(){var _0x3b6c3e=_0x1dbe57;for(var _0x18645e=0x0,_0x18ec57=MVT_VECTOR_LOAD_EVENT_TYPES;_0x18645e<_0x18ec57[_0x3b6c3e(0x1f3)];_0x18645e++){var _0x133d54=_0x18ec57[_0x18645e],_0x43aeed=this[_0x3b6c3e(0x1c9)][_0x133d54],_0x160645=_createForOfIteratorHelper(_0x43aeed),_0x3a5ee2;try{for(_0x160645['s']();!(_0x3a5ee2=_0x160645['n']())[_0x3b6c3e(0x216)];){var _0x42f290=_0x3a5ee2[_0x3b6c3e(0x22c)];_0x42f290[_0x3b6c3e(0x251)]=!![];}}catch(_0x596108){_0x160645['e'](_0x596108);}finally{_0x160645['f']();}_0x43aeed[_0x3b6c3e(0x1f3)]=0x0;}}},{'key':_0x1dbe57(0x183),'value':(function(){var _0x43ca59=_0x1dbe57,_0x219e91=_asyncToGenerator(_regeneratorRuntime()[_0x43ca59(0x231)](function _0x58fae8(){return _regeneratorRuntime()['wrap'](function _0x15d597(_0x196d61){var _0x14b061=_0x754a;while(0x1)switch(_0x196d61[_0x14b061(0x203)]=_0x196d61[_0x14b061(0x252)]){case 0x0:this['_validateOptions'](),this['_createRootTiles'](),this[_0x14b061(0x1e8)]=!![],this[_0x14b061(0x182)]['raiseEvent'](this);return _0x196d61['abrupt'](_0x14b061(0x175),this);case 0x5:case _0x14b061(0x1a8):return _0x196d61['stop']();}},_0x58fae8,this);}));function _0x245241(){return _0x219e91['apply'](this,arguments);}return _0x245241;}())},{'key':_0x1dbe57(0x1b1),'value':function _0xfd486c(){var _0x26f378=_0x1dbe57;if(!this[_0x26f378(0x204)])throw this['_emitError'](new Error(_0x26f378(0x1bb)));if(!this['url']['includes'](_0x26f378(0x1d4))||!this['url'][_0x26f378(0x233)]('{x}')||!this[_0x26f378(0x204)][_0x26f378(0x233)](_0x26f378(0x1d8)))throw this[_0x26f378(0x177)](new Error(_0x26f378(0x1d3)));if(this['minzoom']<0x0||this['maximumLevel']<this[_0x26f378(0x237)])throw this[_0x26f378(0x177)](new Error(_0x26f378(0x1ec)));if(!Number[_0x26f378(0x1b0)](this['maxCacheSize'])||this['maxCacheSize']<=0x0)throw this[_0x26f378(0x177)](new Error(_0x26f378(0x258)));}},{'key':_0x1dbe57(0x177),'value':function _0x31ce1c(_0x198995){var _0x3ac398=_0x1dbe57;return this['errorEvent'][_0x3ac398(0x1c1)](_0x198995),_0x198995;}},{'key':_0x1dbe57(0x1d2),'value':function _0x33d89a(_0x4a9484){var _0x2d39a7=_0x1dbe57;return _0x4a9484 instanceof Error&&_0x4a9484[_0x2d39a7(0x1c4)]==='AbortError';}},{'key':'_markTileLoading','value':function _0x37a7b3(_0x49ebf9){var _0x1d8197=_0x1dbe57;return _0x49ebf9[_0x1d8197(0x242)]+=0x1,_0x49ebf9[_0x1d8197(0x17d)]='loading',_0x49ebf9[_0x1d8197(0x242)];}},{'key':'_resetTileRequestState','value':function _0x3d646b(_0x4ba1ad){_0x4ba1ad['requestVersion']+=0x1,_0x4ba1ad['state']='none';}},{'key':_0x1dbe57(0x1d5),'value':function _0x5cfa9e(){var _0x40e474=_0x1dbe57;if(this[_0x40e474(0x18a)][_0x40e474(0x1f3)]>0x0)return;var _0x3912c0=this[_0x40e474(0x17a)][_0x40e474(0x255)](0x0),_0x24c4e2=this['tilingScheme'][_0x40e474(0x192)](0x0);for(var _0x2a35a5=0x0;_0x2a35a5<_0x24c4e2;_0x2a35a5+=0x1){for(var _0x201ec6=0x0;_0x201ec6<_0x3912c0;_0x201ec6+=0x1){var _0x1a15de=new VectorLoadTile({'x':_0x201ec6,'y':_0x2a35a5,'z':0x0,'tilingScheme':this[_0x40e474(0x17a)],'parent':this});this[_0x40e474(0x18a)][_0x40e474(0x1b7)](_0x1a15de);}}}},{'key':_0x1dbe57(0x223),'value':function _0x2afe20(_0x1e3f9f,_0x30b4e9,_0xef97df){return''['concat'](_0x1e3f9f,',')['concat'](_0x30b4e9,',')['concat'](_0xef97df);}},{'key':_0x1dbe57(0x1bf),'value':function _0x24f20d(_0x16c8b4){var _0x5f166d=_0x1dbe57;this[_0x5f166d(0x1e3)]['delete'](_0x16c8b4),this[_0x5f166d(0x1e3)][_0x5f166d(0x1c6)](_0x16c8b4,!![]);}},{'key':'_pruneLoadedTiles','value':function _0x5b4f46(){var _0x1c44c9=_0x1dbe57,_0x212ca4=[],_0x5c5225=new Set([]['concat'](_toConsumableArray(this[_0x1c44c9(0x1cc)][_0x1c44c9(0x1b3)]()),_toConsumableArray(this[_0x1c44c9(0x1b8)][_0x1c44c9(0x16d)](function(_0x559741){var _0x4679cf=_0x1c44c9;return _0x559741[_0x4679cf(0x16e)];}))));while(this[_0x1c44c9(0x1e3)][_0x1c44c9(0x24b)]>this['maxCacheSize']){var _0x1fa3dd=void 0x0,_0x5c7e67=_createForOfIteratorHelper(this['_cacheOrder']['keys']()),_0x4760ea;try{for(_0x5c7e67['s']();!(_0x4760ea=_0x5c7e67['n']())['done'];){var _0x5753c6=_0x4760ea[_0x1c44c9(0x22c)];if(!_0x5c5225[_0x1c44c9(0x259)](_0x5753c6)){_0x1fa3dd=_0x5753c6;break;}}}catch(_0x30acf2){_0x5c7e67['e'](_0x30acf2);}finally{_0x5c7e67['f']();}if(typeof _0x1fa3dd!=='string')break;this[_0x1c44c9(0x1e3)][_0x1c44c9(0x16c)](_0x1fa3dd);var _0x4fe380=this['_loadedTiles'][_0x1fa3dd];if(!_0x4fe380)continue;delete this['_loadedTiles'][_0x1fa3dd],this['_displayedTiles'][_0x1c44c9(0x16c)](_0x1fa3dd),_0x212ca4['push']({'key':_0x1fa3dd,'x':_0x4fe380['x'],'y':_0x4fe380['y'],'z':_0x4fe380['z']});}this[_0x1c44c9(0x232)](_0x212ca4[_0x1c44c9(0x16d)](function(_0x5957f3){var _0xd94465=_0x1c44c9;return _0x5957f3[_0xd94465(0x16e)];}));for(var _0x30be8c=0x0,_0x57c199=_0x212ca4;_0x30be8c<_0x57c199['length'];_0x30be8c++){var _0x1b0a39=_0x57c199[_0x30be8c];this[_0x1c44c9(0x1bc)]['raiseEvent'](_0x1b0a39),this[_0x1c44c9(0x18e)](_0x1b0a39['key']);}}},{'key':'_getTilesToUpdate','value':function _0x29f539(_0x168438){var _0x29f065=_0x1dbe57,_0x4056a2=this,_0x3c5ef6=_toConsumableArray(this[_0x29f065(0x18a)]),_0x3e5ef0=this[_0x29f065(0x1b8)],_0xb9f689=this[_0x29f065(0x24a)],_0x136603=Number['POSITIVE_INFINITY'],_0x3deb14=function _0x502c7c(_0x3720b3,_0x13365c){var _0x43d4bc=_0x29f065;return _0x4056a2[_0x43d4bc(0x184)](_0x3720b3,_0x13365c);},_0x4644ec={'visitChildren':function _0x56b296(_0x39866b){var _0x161c7c=_0x29f065;if(_0x39866b['z']>=_0x4056a2['maximumLevel']){_0x39866b[_0x161c7c(0x24e)]<_0x136603&&(_0x136603=_0x39866b['distanceToCamera'],_0xb9f689=_0x39866b['z']);_0x3e5ef0['push'](_0x39866b);return;}_0x39866b['children'][_0x161c7c(0x1f3)]===0x0&&_0x39866b[_0x161c7c(0x245)]();var _0x5291e3=_createForOfIteratorHelper(_0x39866b[_0x161c7c(0x1f0)]),_0x17cdcb;try{for(_0x5291e3['s']();!(_0x17cdcb=_0x5291e3['n']())['done'];){var _0xa48507=_0x17cdcb['value'];_0x3c5ef6['push'](_0xa48507);}}catch(_0x451491){_0x5291e3['e'](_0x451491);}finally{_0x5291e3['f']();}},'accept':function _0x5aadec(_0x3b31b2){var _0x108005=_0x29f065;_0x3b31b2['distanceToCamera']<_0x136603&&(_0x136603=_0x3b31b2['distanceToCamera'],_0xb9f689=_0x3b31b2['z']),_0x3e5ef0[_0x108005(0x1b7)](_0x3b31b2);}};_0x3e5ef0['length']=0x0;for(var _0x4907e4=0x0;_0x4907e4<_0x3c5ef6[_0x29f065(0x1f3)];_0x4907e4+=0x1){var _0x13afe2=_0x3c5ef6[_0x4907e4];_0x13afe2[_0x29f065(0x1be)](_0x168438,_0x4644ec,_0x3deb14);}return this[_0x29f065(0x19d)]=_0xb9f689,_0x3e5ef0;}},{'key':'_toDisplayedTileState','value':function _0x5eaea9(_0x4f1790){var _0x2ffe38=_0x1dbe57;return{'key':_0x4f1790[_0x2ffe38(0x16e)],'x':_0x4f1790['x'],'y':_0x4f1790['y'],'z':_0x4f1790['z']};}},{'key':'_isTileLoaded','value':function _0x4f90ac(_0x134ce4){var _0x5c77a5=_0x1dbe57;return Boolean(this[_0x5c77a5(0x20b)][_0x134ce4]);}},{'key':_0x1dbe57(0x176),'value':function _0x388fbb(_0x22d38d,_0x2a9ee2){if(_0x22d38d['z']>_0x2a9ee2['z'])return![];var _0x3b3213=_0x2a9ee2['z']-_0x22d38d['z'];return _0x2a9ee2['x']>>_0x3b3213===_0x22d38d['x']&&_0x2a9ee2['y']>>_0x3b3213===_0x22d38d['y'];}},{'key':_0x1dbe57(0x1ff),'value':function _0x1fb54c(_0x4950dc,_0x29e54b){var _0x4e9b70=_0x1dbe57;return this['_isSameOrAncestorTile'](_0x4950dc,_0x29e54b)||this[_0x4e9b70(0x176)](_0x29e54b,_0x4950dc);}},{'key':'_shouldKeepDisplayedTile','value':function _0x40b714(_0x1b7166,_0x4ff243){var _0xcfcbe9=this;return _0x4ff243['some'](function(_0x33b354){var _0xbbf453=_0x754a;return _0xcfcbe9[_0xbbf453(0x1ff)](_0x1b7166,_0x33b354);});}},{'key':'_shouldDelayTargetTileDisplay','value':function _0x45fbdd(_0x4c40c5,_0x450d8e){var _0x58137c=this;return _0x450d8e['some'](function(_0x1b5124){var _0x5e2377=_0x754a;return _0x1b5124[_0x5e2377(0x16e)]!==_0x4c40c5['key']&&_0x58137c['_tilesOverlap'](_0x1b5124,_0x4c40c5);});}},{'key':_0x1dbe57(0x1c8),'value':function _0xfb234(_0x1ea289,_0x39e82d){var _0x17a06e=_0x1dbe57;this['_setManagedTileLayersDisplay'](_0x1ea289['key'],_0x39e82d===_0x17a06e(0x25b)),this['tileDisplayEvent']['raiseEvent'](_objectSpread(_objectSpread({},_0x1ea289),{},{'display':_0x39e82d}));}},{'key':'_syncTileDisplayState','value':function _0x203157(_0x4af503){var _0x1ef156=_0x1dbe57,_0x946156=this,_0x2f4af4=new Map(),_0xe14794=[],_0x2b0d66=[],_0x51854b=[],_0x2ff25a=_createForOfIteratorHelper(_0x4af503),_0x58806c;try{for(_0x2ff25a['s']();!(_0x58806c=_0x2ff25a['n']())[_0x1ef156(0x216)];){var _0x2abd85=_0x58806c[_0x1ef156(0x22c)],_0x5726dc=this['_toDisplayedTileState'](_0x2abd85);if(this['_isTileLoaded'](_0x2abd85['key'])){_0xe14794[_0x1ef156(0x1b7)](_0x5726dc);continue;}_0x2b0d66[_0x1ef156(0x1b7)](_0x5726dc);}}catch(_0xe94aa6){_0x2ff25a['e'](_0xe94aa6);}finally{_0x2ff25a['f']();}this[_0x1ef156(0x1cc)]['forEach'](function(_0x2126f3,_0x48a2e9){var _0x3a5033=_0x1ef156;_0x946156[_0x3a5033(0x20c)](_0x2126f3,_0x2b0d66)&&(_0x51854b[_0x3a5033(0x1b7)](_0x2126f3),_0x2f4af4[_0x3a5033(0x1c6)](_0x48a2e9,_0x2126f3));});for(var _0x1a13dc=0x0,_0x5daa4b=_0xe14794;_0x1a13dc<_0x5daa4b[_0x1ef156(0x1f3)];_0x1a13dc++){var _0x18f029=_0x5daa4b[_0x1a13dc];if(this[_0x1ef156(0x217)](_0x18f029,_0x51854b))continue;_0x2f4af4[_0x1ef156(0x1c6)](_0x18f029['key'],_0x18f029);}this[_0x1ef156(0x1cc)]['forEach'](function(_0x50ffad,_0x15003d){var _0x5a0d3a=_0x1ef156;!_0x2f4af4[_0x5a0d3a(0x259)](_0x15003d)&&_0x946156[_0x5a0d3a(0x1c8)](_0x50ffad,'hide');}),_0x2f4af4['forEach'](function(_0x43327f,_0x5235c3){var _0x1eefd1=_0x1ef156;!_0x946156[_0x1eefd1(0x1cc)][_0x1eefd1(0x259)](_0x5235c3)&&_0x946156['_raiseTileDisplayChange'](_0x43327f,_0x1eefd1(0x25b));}),this['_displayedTiles']=_0x2f4af4;}},{'key':_0x1dbe57(0x1ad),'value':function _0x38bf48(){var _0x5df08c=_0x1dbe57,_0x2cbf15=this;this['_displayedTiles'][_0x5df08c(0x1eb)](function(_0x57cc3c){var _0xdf5464=_0x5df08c;_0x2cbf15[_0xdf5464(0x1c8)](_0x57cc3c,_0xdf5464(0x1e0));}),this['_displayedTiles']['clear']();}},{'key':_0x1dbe57(0x215),'value':function _0x42d425(_0x2833e1){var _0x5ab764=_0x1dbe57;if(!_0x2833e1||_typeof(_0x2833e1)!==_0x5ab764(0x240))return![];var _0x497ac3=_0x2833e1;return typeof _0x497ac3[_0x5ab764(0x25b)]===_0x5ab764(0x16b)&&typeof _0x497ac3[_0x5ab764(0x1a4)]===_0x5ab764(0x16b);}},{'key':'_normalizeManagedTileLayers','value':function _0x5e4d88(_0x46a2eb){var _0x55cd83=_0x1dbe57,_0x372acd=this;if(!_0x46a2eb)return[];var _0x425397=Array[_0x55cd83(0x247)](_0x46a2eb)?_0x46a2eb:[_0x46a2eb];return _0x425397['filter'](function(_0x45cad8){var _0x24ac34=_0x55cd83;return _0x372acd[_0x24ac34(0x215)](_0x45cad8);});}},{'key':'_registerManagedTileLayers','value':function _0x319f09(_0x44920c,_0x29452d){var _0x44464d=_0x1dbe57,_0x2e2212,_0x41cc0d=this['_normalizeManagedTileLayers'](_0x29452d);if(_0x41cc0d[_0x44464d(0x1f3)]===0x0)return;var _0x3b9be5=this[_0x44464d(0x223)](_0x44920c['x'],_0x44920c['y'],_0x44920c['z']),_0x8d2ec4=(_0x2e2212=this['_managedTileLayers'][_0x44464d(0x249)](_0x3b9be5))!==null&&_0x2e2212!==void 0x0?_0x2e2212:[],_0x2b345f=_0x41cc0d['filter'](function(_0x148f5a){var _0x2ac7f8=_0x44464d;return!_0x8d2ec4[_0x2ac7f8(0x233)](_0x148f5a);});if(_0x2b345f[_0x44464d(0x1f3)]===0x0)return;this['_managedTileLayers'][_0x44464d(0x1c6)](_0x3b9be5,[]['concat'](_toConsumableArray(_0x8d2ec4),_toConsumableArray(_0x2b345f)));if(this[_0x44464d(0x23c)]){this[_0x44464d(0x21d)](_0x3b9be5,this['_displayedTiles']['has'](_0x3b9be5));return;}this[_0x44464d(0x222)](_0x3b9be5,!![]);}},{'key':'_isManagedTileLayerDestroyed','value':function _0x53acfb(_0x3b1a2d){var _0x557450=_0x1dbe57,_0x16411a=_0x3b1a2d[_0x557450(0x1ac)];return typeof _0x16411a==='function'?_0x16411a():_0x16411a===!![];}},{'key':_0x1dbe57(0x222),'value':function _0x7e1c8c(_0x50446f,_0x1233c5){var _0x1479c6=_0x1dbe57,_0x21b30b=this[_0x1479c6(0x17f)][_0x1479c6(0x249)](_0x50446f);if(!_0x21b30b)return;var _0x5c4be0=_createForOfIteratorHelper(_0x21b30b),_0xc50abb;try{for(_0x5c4be0['s']();!(_0xc50abb=_0x5c4be0['n']())['done'];){var _0x35269d=_0xc50abb[_0x1479c6(0x22c)];!this['_isManagedTileLayerDestroyed'](_0x35269d)&&_0x35269d['show'](_0x1233c5);}}catch(_0x17267e){_0x5c4be0['e'](_0x17267e);}finally{_0x5c4be0['f']();}}},{'key':_0x1dbe57(0x21d),'value':function _0xd8f387(_0x473c33,_0x4d62a2){var _0x4c6d4a=_0x1dbe57;if(!this[_0x4c6d4a(0x23c)])return;this[_0x4c6d4a(0x222)](_0x473c33,_0x4d62a2);}},{'key':_0x1dbe57(0x18e),'value':function _0x13e213(_0x5e5646){var _0x3bfe15=_0x1dbe57,_0x245916=this['_managedTileLayers']['get'](_0x5e5646);if(!_0x245916)return;this['_managedTileLayers'][_0x3bfe15(0x16c)](_0x5e5646);var _0x53b4d6=_createForOfIteratorHelper(_0x245916),_0x2bd746;try{for(_0x53b4d6['s']();!(_0x2bd746=_0x53b4d6['n']())['done'];){var _0x13fbec=_0x2bd746['value'];!this[_0x3bfe15(0x18b)](_0x13fbec)&&_0x13fbec['remove']();}}catch(_0x112232){_0x53b4d6['e'](_0x112232);}finally{_0x53b4d6['f']();}}},{'key':'_removeAllManagedTileLayers','value':function _0x11411a(){var _0x1451f3=_0x1dbe57,_0xe670be=_toConsumableArray(this['_managedTileLayers'][_0x1451f3(0x1b3)]()),_0x59320a=_createForOfIteratorHelper(_0xe670be),_0x380cd4;try{for(_0x59320a['s']();!(_0x380cd4=_0x59320a['n']())[_0x1451f3(0x216)];){var _0xd1b71c=_0x380cd4[_0x1451f3(0x22c)];this[_0x1451f3(0x18e)](_0xd1b71c);}}catch(_0x314320){_0x59320a['e'](_0x314320);}finally{_0x59320a['f']();}}},{'key':_0x1dbe57(0x178),'value':function _0x242a56(_0x457af9){var _0x409372=_0x1dbe57;return this[_0x409372(0x194)]===null&&(this[_0x409372(0x194)]=_0x280cf6['TerrainProvider'][_0x409372(0x1a2)](this[_0x409372(0x17a)]['ellipsoid'],0x80,this['tilingScheme']['getNumberOfXTilesAtLevel'](0x0))),this[_0x409372(0x194)]/(0x1<<_0x457af9);}},{'key':'_resetTileStatesByKeys','value':function _0x8e1b5b(_0x38fb84){var _0x2272ff=_0x1dbe57;if(_0x38fb84['length']===0x0)return;var _0x6fbf7a=new Set(_0x38fb84),_0x30e4cb=_toConsumableArray(this['_rootTiles']);for(var _0x513340=0x0;_0x513340<_0x30e4cb[_0x2272ff(0x1f3)];_0x513340+=0x1){var _0x3ae2b5=_0x30e4cb[_0x513340];_0x6fbf7a['has'](_0x3ae2b5['key'])&&this[_0x2272ff(0x167)](_0x3ae2b5);var _0x59aa76=_createForOfIteratorHelper(_0x3ae2b5[_0x2272ff(0x1f0)]),_0x559982;try{for(_0x59aa76['s']();!(_0x559982=_0x59aa76['n']())[_0x2272ff(0x216)];){var _0x2d42be=_0x559982[_0x2272ff(0x22c)];_0x30e4cb[_0x2272ff(0x1b7)](_0x2d42be);}}catch(_0x52374d){_0x59aa76['e'](_0x52374d);}finally{_0x59aa76['f']();}}}},{'key':'_getScreenSpaceError','value':function _0x481f0e(_0x3f8acc,_0x457085){var _0xbe085e=_0x1dbe57,_0x22cf75=this['_getLevelMaximumGeometricError'](_0x457085['z']),_0x481656=_0x457085['distanceToCamera'],_0x53b755=_0x3f8acc['context'][_0xbe085e(0x23e)],_0x459949=_0x3f8acc['camera'][_0xbe085e(0x20d)]['sseDenominator'],_0xe3a329=_0x22cf75*_0x53b755/(_0x481656*_0x459949);return _0x3f8acc[_0xbe085e(0x19a)]['enabled']&&(_0xe3a329-=CesiumMath['fog'](_0x481656,_0x3f8acc[_0xbe085e(0x19a)]['density'])*_0x3f8acc[_0xbe085e(0x19a)]['sse']),_0xe3a329/_0x3f8acc['pixelRatio'];}},{'key':_0x1dbe57(0x198),'value':function _0x3e6b7b(_0x4976c1,_0x58f874,_0x2fbab1){var _0x3acd41=_0x1dbe57;return this['url']['replace']('{x}',String(_0x4976c1))[_0x3acd41(0x1bd)](_0x3acd41(0x1d8),String(_0x58f874))[_0x3acd41(0x1bd)]('{z}',String(_0x2fbab1));}},{'key':_0x1dbe57(0x206),'value':function _0x37e02a(_0x2d6497,_0x1d0245){if(_0x2d6497 instanceof Error)return _0x2d6497;if(typeof _0x2d6497==='string'&&_0x2d6497['length']>0x0)return new Error(_0x2d6497);return new Error(_0x1d0245);}},{'key':'_getDecodeWorkerClient','value':function _0x38da52(){var _0x38ee93=_0x1dbe57;if(!this['_decodeWithWorker']||this['_destroyed'])return null;if(this[_0x38ee93(0x1ba)])return this['_decodeWorkerClient'];try{return this[_0x38ee93(0x1ba)]=new _0x47f04f({'workerUrl':this[_0x38ee93(0x21a)]||undefined}),this['_decodeWorkerClient'];}catch(_0x58388a){return this['_decodeWithWorker']=![],console['warn']('MVT\x20解码\x20Worker\x20初始化失败,已回退主线程解码',_0x58388a),null;}}},{'key':_0x1dbe57(0x201),'value':function _0x498c09(){var _0x2817ed;(_0x2817ed=this['_decodeWorkerClient'])===null||_0x2817ed===void 0x0||_0x2817ed['destroy'](),this['_decodeWorkerClient']=null;}},{'key':_0x1dbe57(0x170),'value':(function(){var _0x3327be=_0x1dbe57,_0x328fa9=_asyncToGenerator(_regeneratorRuntime()[_0x3327be(0x231)](function _0x4dda19(_0x5d9935){var _0xb03182;return _regeneratorRuntime()['wrap'](function _0x10e832(_0x38b283){var _0xb1a3d2=_0x754a;while(0x1)switch(_0x38b283['prev']=_0x38b283[_0xb1a3d2(0x252)]){case 0x0:_0xb03182=this[_0xb1a3d2(0x1a7)]();if(_0xb03182){_0x38b283['next']=0x3;break;}return _0x38b283['abrupt']('return',decodeTile(_0x5d9935));case 0x3:_0x38b283[_0xb1a3d2(0x203)]=0x3,_0x38b283[_0xb1a3d2(0x252)]=0x6;return _0xb03182['decode'](_0x5d9935);case 0x6:return _0x38b283['abrupt'](_0xb1a3d2(0x175),_0x38b283['sent']);case 0x9:_0x38b283[_0xb1a3d2(0x203)]=0x9,_0x38b283['t0']=_0x38b283[_0xb1a3d2(0x1ea)](0x3),this[_0xb1a3d2(0x201)](),this[_0xb1a3d2(0x246)]=![],console['warn']('MVT\x20解码\x20Worker\x20运行失败,后续已回退主线程解码',_0x38b283['t0']);throw this[_0xb1a3d2(0x206)](_0x38b283['t0'],'Worker\x20解码\x20MVT\x20瓦片失败');case 0xf:case _0xb1a3d2(0x1a8):return _0x38b283['stop']();}},_0x4dda19,this,[[0x3,0x9]]);}));function _0x162339(_0x4111a1){return _0x328fa9['apply'](this,arguments);}return _0x162339;}())},{'key':_0x1dbe57(0x25d),'value':(function(){var _0x9abe43=_asyncToGenerator(_regeneratorRuntime()['mark'](function _0x5d2cf7(_0x1c9b8d,_0x25fee6,_0x1fb86a,_0x23cf21){var _0x8bcb2c=_0x754a,_0x4871bf,_0x51e67f,_0xdeb0d3;return _regeneratorRuntime()[_0x8bcb2c(0x1d7)](function _0x476583(_0x5001f8){var _0x21edb2=_0x8bcb2c;while(0x1)switch(_0x5001f8['prev']=_0x5001f8['next']){case 0x0:_0x4871bf=this['_buildTileUrl'](_0x1c9b8d,_0x25fee6,_0x1fb86a),_0x5001f8['next']=0x3;return fetch(_0x4871bf,{'signal':_0x23cf21});case 0x3:_0x51e67f=_0x5001f8['sent'];if(_0x51e67f['ok']){_0x5001f8[_0x21edb2(0x252)]=0x6;break;}throw new Error('\u8BF7\u6C42\u74E6\u7247\u5931\u8D25:\x20'['concat'](_0x51e67f['status'],'\x20')[_0x21edb2(0x1e2)](_0x51e67f[_0x21edb2(0x171)]));case 0x6:_0x5001f8[_0x21edb2(0x252)]=0x8;return _0x51e67f['arrayBuffer']();case 0x8:_0xdeb0d3=_0x5001f8['sent'],_0x5001f8['t0']=_0x1c9b8d,_0x5001f8['t1']=_0x25fee6,_0x5001f8['t2']=_0x1fb86a,_0x5001f8['next']=0xe;return this['_decodeTile'](_0xdeb0d3);case 0xe:_0x5001f8['t3']=_0x5001f8['sent'];return _0x5001f8['abrupt']('return',{'x':_0x5001f8['t0'],'y':_0x5001f8['t1'],'z':_0x5001f8['t2'],'raw':_0x5001f8['t3']});case 0x10:case'end':return _0x5001f8[_0x21edb2(0x23f)]();}},_0x5d2cf7,this);}));function _0x1cc265(_0x25301f,_0x3b0f16,_0x5d302c,_0x5ee744){return _0x9abe43['apply'](this,arguments);}return _0x1cc265;}())},{'key':_0x1dbe57(0x168),'value':(function(){var _0xb595a=_asyncToGenerator(_regeneratorRuntime()['mark'](function _0x5f128d(_0x4017dd){var _0x510b0e=_0x754a,_0x23c65f=this,_0x54a1ee,_0x1930eb,_0x1cf8cd,_0x2d0aec,_0x5932b4,_0x4484cc,_0x4a978f,_0x51f636,_0x18778a;return _regeneratorRuntime()[_0x510b0e(0x1d7)](function _0x163096(_0x267850){var _0x56fd53=_0x510b0e;while(0x1)switch(_0x267850[_0x56fd53(0x203)]=_0x267850['next']){case 0x0:_0x267850[_0x56fd53(0x252)]=0x2;return this['init']();case 0x2:this['_validateOptions'](),(_0x54a1ee=_0x4017dd['x'],_0x1930eb=_0x4017dd['y'],_0x1cf8cd=_0x4017dd['z'],_0x2d0aec=_0x4017dd[_0x56fd53(0x16e)]);if(!(_0x1cf8cd<this[_0x56fd53(0x237)]||_0x1cf8cd>this[_0x56fd53(0x24a)])){_0x267850['next']=0x6;break;}throw this['_emitError'](new Error('\u74E6\u7247\u5C42\u7EA7\x20'['concat'](_0x1cf8cd,_0x56fd53(0x1fa))[_0x56fd53(0x1e2)](this['minzoom'],',\x20')['concat'](this['maximumLevel'],']')));case 0x6:_0x5932b4=this[_0x56fd53(0x20b)][_0x2d0aec];if(!_0x5932b4){_0x267850['next']=0xa;break;}this[_0x56fd53(0x1bf)](_0x2d0aec);return _0x267850['abrupt'](_0x56fd53(0x175),_0x5932b4);case 0xa:_0x4484cc=this['_pendingTiles'][_0x56fd53(0x249)](_0x2d0aec);if(!_0x4484cc){_0x267850['next']=0xd;break;}return _0x267850[_0x56fd53(0x241)]('return',_0x4484cc);case 0xd:_0x4a978f=this['_requestToken'],_0x51f636=new AbortController(),_0x18778a=this['_requestTile'](_0x54a1ee,_0x1930eb,_0x1cf8cd,_0x51f636['signal'])[_0x56fd53(0x1da)](function(_0x49d12c){var _0x5db1d4=_0x56fd53;if(_0x51f636[_0x5db1d4(0x23b)][_0x5db1d4(0x1e7)]||_0x4a978f!==_0x23c65f['_requestToken']||_0x23c65f[_0x5db1d4(0x187)])return _0x49d12c;return _0x23c65f[_0x5db1d4(0x20b)][_0x2d0aec]=_0x49d12c,_0x23c65f['_touchTileCache'](_0x2d0aec),_0x23c65f['_pruneLoadedTiles'](),_0x23c65f[_0x5db1d4(0x25a)][_0x5db1d4(0x1c1)](_0x49d12c),_0x23c65f['_syncTileDisplayState'](_0x23c65f['_tilesToUpdate']),_0x49d12c;})[_0x56fd53(0x1ea)](function(_0x2b6ff4){var _0x3d48ea=_0x56fd53,_0x1daf44=_0x23c65f[_0x3d48ea(0x206)](_0x2b6ff4,'加载\x20MVT\x20瓦片失败');if(_0x51f636[_0x3d48ea(0x23b)][_0x3d48ea(0x1e7)]||_0x23c65f['_isAbortError'](_0x1daf44))throw _0x1daf44;throw _0x23c65f[_0x3d48ea(0x177)](_0x1daf44);})['finally'](function(){var _0x5bfb56=_0x56fd53;_0x23c65f[_0x5bfb56(0x24f)][_0x5bfb56(0x249)](_0x2d0aec)===_0x18778a&&_0x23c65f[_0x5bfb56(0x24f)]['delete'](_0x2d0aec),_0x23c65f['_pendingRequestControllers']['get'](_0x2d0aec)===_0x51f636&&_0x23c65f['_pendingRequestControllers'][_0x5bfb56(0x16c)](_0x2d0aec),_0x23c65f['_pendingRequestTiles'][_0x5bfb56(0x249)](_0x2d0aec)===_0x4017dd&&_0x23c65f[_0x5bfb56(0x1f5)]['delete'](_0x2d0aec);}),this[_0x56fd53(0x24f)]['set'](_0x2d0aec,_0x18778a),this[_0x56fd53(0x188)]['set'](_0x2d0aec,_0x51f636),this['_pendingRequestTiles'][_0x56fd53(0x1c6)](_0x2d0aec,_0x4017dd);return _0x267850['abrupt']('return',_0x18778a);case 0x14:case'end':return _0x267850['stop']();}},_0x5f128d,this);}));function _0xca0f53(_0x57d153){return _0xb595a['apply'](this,arguments);}return _0xca0f53;}())},{'key':'tileToGeoJSON','value':function _0x131bcc(_0xa8f117){var _0x289dc3=_0x1dbe57;if(!Array[_0x289dc3(0x247)](_0xa8f117[_0x289dc3(0x1de)][_0x289dc3(0x244)]))throw this[_0x289dc3(0x177)](new Error('无效的\x20tile\x20数据,无法转换\x20GeoJSON'));return{'x':_0xa8f117['x'],'y':_0xa8f117['y'],'z':_0xa8f117['z'],'geoJson':{'type':_0x289dc3(0x1b4),'features':_0xa8f117['raw'][_0x289dc3(0x244)]}};}},{'key':'update','value':function _0x5346ba(_0x49d565){var _0x43eb2d=_0x1dbe57;if(!this['ready']||this[_0x43eb2d(0x187)])return;var _0x50c38d=this['_getTilesToUpdate'](_0x49d565),_0x158fc6=new Set(_0x50c38d['map'](function(_0xc04b7c){var _0x31a455=_0x43eb2d;return _0xc04b7c[_0x31a455(0x16e)];}));this[_0x43eb2d(0x1db)](_0x158fc6),this[_0x43eb2d(0x1d6)](_0x50c38d),this[_0x43eb2d(0x205)](_0x50c38d);}},{'key':'_cancelStaleRequests','value':function _0x233733(_0x9ac042){var _0x4be169=_0x1dbe57,_0x5e7649=_createForOfIteratorHelper(this['_pendingRequestControllers'][_0x4be169(0x226)]()),_0x532809;try{for(_0x5e7649['s']();!(_0x532809=_0x5e7649['n']())[_0x4be169(0x216)];){var _0x3e6ea1=_slicedToArray(_0x532809['value'],0x2),_0x535cc5=_0x3e6ea1[0x0],_0x210099=_0x3e6ea1[0x1];if(_0x9ac042['has'](_0x535cc5))continue;var _0xcce538=this['_pendingRequestTiles'][_0x4be169(0x249)](_0x535cc5);this[_0x4be169(0x24f)]['delete'](_0x535cc5),this[_0x4be169(0x188)]['delete'](_0x535cc5),this[_0x4be169(0x1f5)][_0x4be169(0x16c)](_0x535cc5),_0x210099[_0x4be169(0x1b5)](),_0xcce538&&this[_0x4be169(0x167)](_0xcce538);}}catch(_0x2131d7){_0x5e7649['e'](_0x2131d7);}finally{_0x5e7649['f']();}if(this[_0x4be169(0x209)][_0x4be169(0x1f3)]===0x0)return;var _0x3d7973=[];this['_queuedTileKeys'][_0x4be169(0x224)]();var _0x10c69f=_createForOfIteratorHelper(this['_requestQueue']),_0x759875;try{for(_0x10c69f['s']();!(_0x759875=_0x10c69f['n']())['done'];){var _0x2d3f90=_0x759875['value'];if(!_0x9ac042[_0x4be169(0x259)](_0x2d3f90[_0x4be169(0x16e)])){this['_resetTileRequestState'](_0x2d3f90);continue;}_0x3d7973[_0x4be169(0x1b7)](_0x2d3f90),this[_0x4be169(0x174)][_0x4be169(0x181)](_0x2d3f90[_0x4be169(0x16e)]);}}catch(_0x4a5b68){_0x10c69f['e'](_0x4a5b68);}finally{_0x10c69f['f']();}this[_0x4be169(0x209)]=_0x3d7973;}},{'key':'_updateTiles','value':function _0x276651(_0x45115d){var _0x4326c5=_0x1dbe57,_0x385f26=_createForOfIteratorHelper(_0x45115d),_0x1890a0;try{for(_0x385f26['s']();!(_0x1890a0=_0x385f26['n']())['done'];){var _0x1086b8=_0x1890a0['value'];if(_0x1086b8[_0x4326c5(0x17d)]!=='none')continue;this['_markTileLoading'](_0x1086b8),this[_0x4326c5(0x209)][_0x4326c5(0x1b7)](_0x1086b8),this['_queuedTileKeys'][_0x4326c5(0x181)](_0x1086b8['key']);}}catch(_0xe96894){_0x385f26['e'](_0xe96894);}finally{_0x385f26['f']();}this[_0x4326c5(0x1f1)]();}},{'key':'_drainRequestQueue','value':function _0x3e7c63(){var _0x3aeb25=_0x1dbe57,_0x5c3d86=this;if(this[_0x3aeb25(0x187)])return;while(this[_0x3aeb25(0x1d0)]<MAX_CONCURRENT_TILE_REQUESTS&&this['_requestQueue']['length']>0x0){var _0x16cf94=this['_requestQueue'][_0x3aeb25(0x1e9)]();if(!_0x16cf94)continue;this['_queuedTileKeys']['delete'](_0x16cf94[_0x3aeb25(0x16e)]);if(_0x16cf94['state']!=='loading')continue;var _0x1a2385=_0x16cf94[_0x3aeb25(0x242)];this[_0x3aeb25(0x1d0)]+=0x1,void this['_loadVisibleTile'](_0x16cf94,_0x1a2385)[_0x3aeb25(0x23d)](function(){var _0x4fe976=_0x3aeb25;_0x5c3d86['_activeRequestCount']=Math[_0x4fe976(0x1ab)](_0x5c3d86['_activeRequestCount']-0x1,0x0),_0x5c3d86['_drainRequestQueue']();});}}},{'key':_0x1dbe57(0x1a6),'value':(function(){var _0x574a24=_asyncToGenerator(_regeneratorRuntime()['mark'](function _0x19fd60(_0x61f9ca,_0x964bfa){return _regeneratorRuntime()['wrap'](function _0x2ec5b3(_0x147e1e){var _0x1ebbaf=_0x754a;while(0x1)switch(_0x147e1e['prev']=_0x147e1e[_0x1ebbaf(0x252)]){case 0x0:_0x147e1e[_0x1ebbaf(0x203)]=0x0,_0x147e1e['next']=0x3;return this['_loadTile'](_0x61f9ca);case 0x3:if(!(_0x61f9ca[_0x1ebbaf(0x242)]!==_0x964bfa)){_0x147e1e[_0x1ebbaf(0x252)]=0x5;break;}return _0x147e1e[_0x1ebbaf(0x241)](_0x1ebbaf(0x175));case 0x5:_0x61f9ca[_0x1ebbaf(0x17d)]='loaded',_0x147e1e[_0x1ebbaf(0x252)]=0x11;break;case 0x8:_0x147e1e[_0x1ebbaf(0x203)]=0x8,_0x147e1e['t0']=_0x147e1e['catch'](0x0);if(!(_0x61f9ca[_0x1ebbaf(0x242)]!==_0x964bfa)){_0x147e1e['next']=0xc;break;}return _0x147e1e[_0x1ebbaf(0x241)](_0x1ebbaf(0x175));case 0xc:if(!this[_0x1ebbaf(0x1d2)](_0x147e1e['t0'])){_0x147e1e[_0x1ebbaf(0x252)]=0xf;break;}_0x61f9ca[_0x1ebbaf(0x17d)]=_0x1ebbaf(0x253);return _0x147e1e[_0x1ebbaf(0x241)]('return');case 0xf:_0x61f9ca['state']=_0x1ebbaf(0x1f4),console['error']('\u52A0\u8F7D\u5931\u8D25\x20['[_0x1ebbaf(0x1e2)](_0x61f9ca['x'],',\x20')['concat'](_0x61f9ca['y'],',\x20')['concat'](_0x61f9ca['z'],']'),_0x147e1e['t0']);case 0x11:case'end':return _0x147e1e[_0x1ebbaf(0x23f)]();}},_0x19fd60,this,[[0x0,0x8]]);}));function _0x5b7b3c(_0x6e2d8d,_0x1eff01){return _0x574a24['apply'](this,arguments);}return _0x5b7b3c;}())},{'key':'getLoadedTiles','value':function _0x23f42f(){return Object['values'](this['_loadedTiles']);}},{'key':'getTile','value':function _0x141651(_0x26ce4e,_0x1fe8fb,_0x550a3a){return this['_loadedTiles'][this['_getTileKey'](_0x26ce4e,_0x1fe8fb,_0x550a3a)];}},{'key':_0x1dbe57(0x1fe),'value':function _0x377efa(){var _0x14eacf=_0x1dbe57;this[_0x14eacf(0x196)]+=0x1;var _0x288907=Object[_0x14eacf(0x200)](this[_0x14eacf(0x20b)]);this['_abortAllPendingRequests'](),this['_hideAllDisplayedTiles']();for(var _0x43c25d=0x0,_0x29750d=_0x288907;_0x43c25d<_0x29750d['length'];_0x43c25d++){var _0x57f1c8=_0x29750d[_0x43c25d],_0x31e83c=this[_0x14eacf(0x223)](_0x57f1c8['x'],_0x57f1c8['y'],_0x57f1c8['z']);this[_0x14eacf(0x1bc)][_0x14eacf(0x1c1)]({'key':_0x31e83c,'x':_0x57f1c8['x'],'y':_0x57f1c8['y'],'z':_0x57f1c8['z']}),this[_0x14eacf(0x18e)](_0x31e83c);}this['_loadedTiles']={},this[_0x14eacf(0x24f)][_0x14eacf(0x224)](),this['_cacheOrder']['clear'](),this['_removeAllManagedTileLayers'](),this[_0x14eacf(0x195)]();}},{'key':_0x1dbe57(0x214),'value':function _0x235215(){var _0x1da00d=_0x1dbe57;this['_requestQueue'][_0x1da00d(0x1f3)]=0x0,this[_0x1da00d(0x174)][_0x1da00d(0x224)]();var _0xec51ca=_createForOfIteratorHelper(this['_pendingRequestControllers'][_0x1da00d(0x226)]()),_0x434074;try{for(_0xec51ca['s']();!(_0x434074=_0xec51ca['n']())[_0x1da00d(0x216)];){var _0x14129=_slicedToArray(_0x434074['value'],0x2),_0x56a63f=_0x14129[0x0],_0x57eaa5=_0x14129[0x1],_0x3d28cc=this['_pendingRequestTiles']['get'](_0x56a63f);this[_0x1da00d(0x24f)][_0x1da00d(0x16c)](_0x56a63f),this[_0x1da00d(0x188)][_0x1da00d(0x16c)](_0x56a63f),this[_0x1da00d(0x1f5)]['delete'](_0x56a63f),_0x57eaa5['abort'](),_0x3d28cc&&this[_0x1da00d(0x167)](_0x3d28cc);}}catch(_0x30dc41){_0xec51ca['e'](_0x30dc41);}finally{_0xec51ca['f']();}}},{'key':'_resetTileStates','value':function _0xd5e50c(){var _0xae337=_0x1dbe57,_0x51cb0d=_toConsumableArray(this['_rootTiles']);while(_0x51cb0d[_0xae337(0x1f3)]>0x0){var _0x290109=_0x51cb0d[_0xae337(0x1e9)]();if(!_0x290109)continue;this[_0xae337(0x167)](_0x290109);var _0x3606b6=_createForOfIteratorHelper(_0x290109['children']),_0x1e7472;try{for(_0x3606b6['s']();!(_0x1e7472=_0x3606b6['n']())['done'];){var _0x523507=_0x1e7472[_0xae337(0x22c)];_0x51cb0d['push'](_0x523507);}}catch(_0x313e28){_0x3606b6['e'](_0x313e28);}finally{_0x3606b6['f']();}}}},{'key':_0x1dbe57(0x22f),'value':function _0x47df8a(){var _0x28063a=_0x1dbe57;if(this['_destroyed'])return;this['_destroyed']=!![],this[_0x28063a(0x1fe)](),this[_0x28063a(0x201)](),this[_0x28063a(0x1b6)](),removeAllEventListeners(this['readyEvent']),removeAllEventListeners(this['errorEvent']),removeAllEventListeners(this['tileLoadEvent']),removeAllEventListeners(this['tileDisplayEvent']),removeAllEventListeners(this['tileEvictEvent']),this[_0x28063a(0x1a1)]();}},{'key':'isDestroyed','value':function _0x543ad8(){return this['_destroyed'];}}]),_0x5e0e92;}()),VectorLoadTile=(function(){function _0x391062(_0xea2d90){var _0xf14c90=_0x754a;_classCallCheck(this,_0x391062),_defineProperty(this,'x',void 0x0),_defineProperty(this,'y',void 0x0),_defineProperty(this,'z',void 0x0),_defineProperty(this,'key',void 0x0),_defineProperty(this,_0xf14c90(0x1aa),void 0x0),_defineProperty(this,_0xf14c90(0x17a),void 0x0),_defineProperty(this,_0xf14c90(0x1e6),void 0x0),_defineProperty(this,'tileBoundingRegion',void 0x0),_defineProperty(this,'children',void 0x0),_defineProperty(this,_0xf14c90(0x24e),void 0x0),_defineProperty(this,'visibility',void 0x0),_defineProperty(this,'state',void 0x0),_defineProperty(this,'requestVersion',void 0x0),this['x']=_0xea2d90['x'],this['y']=_0xea2d90['y'],this['z']=_0xea2d90['z'],this[_0xf14c90(0x16e)]=''['concat'](this['x'],',')[_0xf14c90(0x1e2)](this['y'],',')[_0xf14c90(0x1e2)](this['z']),this['parent']=_0xea2d90[_0xf14c90(0x1aa)],this['children']=[],this['tilingScheme']=_0xea2d90['tilingScheme'],this[_0xf14c90(0x1e6)]=this['tilingScheme']['tileXYToRectangle'](this['x'],this['y'],this['z']),this[_0xf14c90(0x1c3)]=new CesiumRuntime['TileBoundingRegion']({'rectangle':this[_0xf14c90(0x1e6)],'minimumHeight':0x0,'maximumHeight':0x0,'ellipsoid':this[_0xf14c90(0x17a)]['ellipsoid'],'computeBoundingVolumes':!![]}),this['distanceToCamera']=0x0,this[_0xf14c90(0x1fb)]=_0x280cf6[_0xf14c90(0x208)][_0xf14c90(0x210)],this[_0xf14c90(0x17d)]=_0xf14c90(0x253),this[_0xf14c90(0x242)]=0x0;}return _createClass(_0x391062,[{'key':'createChildren','value':function _0x2f5807(){var _0x4438a4=_0x754a;if(this['children']['length']>0x0)return;var _0x504f7b=[{'x':this['x']*0x2,'y':this['y']*0x2+0x1,'z':this['z']+0x1},{'x':this['x']*0x2+0x1,'y':this['y']*0x2+0x1,'z':this['z']+0x1},{'x':this['x']*0x2,'y':this['y']*0x2,'z':this['z']+0x1},{'x':this['x']*0x2+0x1,'y':this['y']*0x2,'z':this['z']+0x1}];for(var _0x4ed15b=0x0,_0xe7f218=_0x504f7b;_0x4ed15b<_0xe7f218[_0x4438a4(0x1f3)];_0x4ed15b++){var _0xd73f9b=_0xe7f218[_0x4ed15b],_0x497b0d=_0xd73f9b['x'],_0x15e8ec=_0xd73f9b['y'],_0x48c886=_0xd73f9b['z'];this['children'][_0x4438a4(0x1b7)](new _0x391062({'x':_0x497b0d,'y':_0x15e8ec,'z':_0x48c886,'tilingScheme':this['tilingScheme'],'parent':this['parent']}));}}},{'key':'visit','value':function _0x43d50f(_0x5a6aae,_0x59acbd,_0xfc000e){var _0x322a08=_0x754a;this[_0x322a08(0x24e)]=this['tileBoundingRegion']['distanceToCamera'](_0x5a6aae),this[_0x322a08(0x1fb)]=_0x5a6aae['cullingVolume'][_0x322a08(0x1cf)](this['tileBoundingRegion']);if(this[_0x322a08(0x1fb)]===_0x280cf6['Intersect']['OUTSIDE'])return;var _0x1fc147=_0x5a6aae[_0x322a08(0x19b)],_0x5c5831=_0xfc000e(_0x5a6aae,this);if(this['z']<this[_0x322a08(0x1aa)]['minzoom']){_0x5c5831>=_0x1fc147&&_0x59acbd['visitChildren'](this);return;}if(_0x5c5831>=_0x1fc147){_0x59acbd[_0x322a08(0x1a3)](this);return;}_0x59acbd[_0x322a08(0x243)](this);}}]),_0x391062;}());export default MvtVectorLoad;
|