@nextgis/ngw-map 1.8.2 → 1.9.1
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/lib/ngw-map.cjs.js +4 -4
- package/lib/ngw-map.cjs.js.map +1 -1
- package/lib/ngw-map.cjs.prod.js +1 -1
- package/lib/ngw-map.cjs.prod.js.map +1 -1
- package/lib/ngw-map.esm-browser.js +129 -80
- package/lib/ngw-map.esm-browser.js.map +1 -1
- package/lib/ngw-map.esm-browser.prod.js +1 -1
- package/lib/ngw-map.esm-browser.prod.js.map +1 -1
- package/lib/ngw-map.esm-bundler.js +1 -1
- package/lib/ngw-map.esm-bundler.js.map +1 -1
- package/lib/ngw-map.esm-bundler.prod.js.map +1 -1
- package/lib/ngw-map.global.js +227 -126
- package/lib/ngw-map.global.js.map +1 -1
- package/lib/ngw-map.global.prod.js +1 -1
- package/lib/ngw-map.global.prod.js.map +1 -1
- package/package.json +9 -9
package/lib/ngw-map.global.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Bundle of @nextgis/ngw-map; version: 1.
|
|
1
|
+
/** Bundle of @nextgis/ngw-map; version: 1.9.1; author: NextGIS */
|
|
2
2
|
var NgwMap = (function (exports) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
@@ -1428,10 +1428,6 @@ var NgwMap = (function (exports) {
|
|
|
1428
1428
|
}
|
|
1429
1429
|
return false;
|
|
1430
1430
|
}
|
|
1431
|
-
/** @deprecated use {@link isPropertyFilter} instead */
|
|
1432
|
-
function checkIfPropertyFilter(filter) {
|
|
1433
|
-
return isPropertyFilter(filter);
|
|
1434
|
-
}
|
|
1435
1431
|
function featureFilter(feature, filters) {
|
|
1436
1432
|
var properties = __assign({}, feature.properties);
|
|
1437
1433
|
if (properties) {
|
|
@@ -2051,7 +2047,11 @@ var NgwMap = (function (exports) {
|
|
|
2051
2047
|
* @returns The map's current zoom level (0-24).
|
|
2052
2048
|
*/
|
|
2053
2049
|
WebMapMain.prototype.getZoom = function () {
|
|
2054
|
-
|
|
2050
|
+
var zoom = this.mapAdapter.getZoom();
|
|
2051
|
+
if (typeof zoom === 'number') {
|
|
2052
|
+
return zoom;
|
|
2053
|
+
}
|
|
2054
|
+
throw Error('Unable to get zoom level. Perhaps the map is not have been initialized yet');
|
|
2055
2055
|
};
|
|
2056
2056
|
WebMapMain.prototype.zoomIn = function () {
|
|
2057
2057
|
if (this.mapAdapter.zoomIn) {
|
|
@@ -2077,27 +2077,25 @@ var NgwMap = (function (exports) {
|
|
|
2077
2077
|
}
|
|
2078
2078
|
}
|
|
2079
2079
|
};
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2080
|
+
WebMapMain.prototype.setView = function (lngLatOrOpt, zoom) {
|
|
2081
|
+
if (Array.isArray(lngLatOrOpt)) {
|
|
2082
|
+
var lngLat = lngLatOrOpt;
|
|
2083
|
+
if (this.mapAdapter.setView && lngLat && defined(zoom)) {
|
|
2084
|
+
this.mapAdapter.setView(lngLat, zoom);
|
|
2085
|
+
}
|
|
2086
|
+
else {
|
|
2087
|
+
if (lngLat) {
|
|
2088
|
+
this.mapAdapter.setCenter(lngLat);
|
|
2089
|
+
}
|
|
2090
|
+
if (defined(zoom)) {
|
|
2091
|
+
this.mapAdapter.setZoom(zoom);
|
|
2092
|
+
}
|
|
2093
|
+
}
|
|
2094
2094
|
}
|
|
2095
2095
|
else {
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
if (defined(zoom)) {
|
|
2100
|
-
this.mapAdapter.setZoom(zoom);
|
|
2096
|
+
var viewOpt = lngLatOrOpt;
|
|
2097
|
+
if (this.mapAdapter.setView) {
|
|
2098
|
+
this.mapAdapter.setView(viewOpt);
|
|
2101
2099
|
}
|
|
2102
2100
|
}
|
|
2103
2101
|
};
|
|
@@ -2547,9 +2545,9 @@ var NgwMap = (function (exports) {
|
|
|
2547
2545
|
var _a, _b;
|
|
2548
2546
|
if (options === void 0) { options = {}; }
|
|
2549
2547
|
return __awaiter(this, void 0, void 0, function () {
|
|
2550
|
-
var id, _order, adapterEngine, geoJsonOptions,
|
|
2551
|
-
return __generator(this, function (
|
|
2552
|
-
switch (
|
|
2548
|
+
var id, _order, adapterEngine, geoJsonOptions, visibility, modified, _adapter, layerId, layer, opacity, getBounds, extent;
|
|
2549
|
+
return __generator(this, function (_c) {
|
|
2550
|
+
switch (_c.label) {
|
|
2553
2551
|
case 0:
|
|
2554
2552
|
id = this._layersIdCounter++;
|
|
2555
2553
|
_order = defined(order)
|
|
@@ -2568,13 +2566,12 @@ var NgwMap = (function (exports) {
|
|
|
2568
2566
|
if (!('then' in adapter)) return [3 /*break*/, 4];
|
|
2569
2567
|
return [4 /*yield*/, adapter];
|
|
2570
2568
|
case 3:
|
|
2571
|
-
adapterEngine = (
|
|
2572
|
-
|
|
2569
|
+
adapterEngine = (_c.sent());
|
|
2570
|
+
_c.label = 4;
|
|
2573
2571
|
case 4:
|
|
2574
2572
|
geoJsonOptions = options;
|
|
2575
2573
|
this._updateGeoJsonOptions(geoJsonOptions);
|
|
2576
|
-
|
|
2577
|
-
options = __assign({ id: String(id), order: _order, maxZoom: maxZoom, minZoom: minZoom }, options);
|
|
2574
|
+
options = __assign({ id: String(id), order: _order }, options);
|
|
2578
2575
|
visibility = (_a = options.visibility) !== null && _a !== void 0 ? _a : true;
|
|
2579
2576
|
options.visibility = false;
|
|
2580
2577
|
if (options.baselayer) {
|
|
@@ -2610,11 +2607,11 @@ var NgwMap = (function (exports) {
|
|
|
2610
2607
|
this._emitLayerEvent('layer:preadd', layerId || '', _adapter);
|
|
2611
2608
|
return [4 /*yield*/, this.onMapLoad()];
|
|
2612
2609
|
case 5:
|
|
2613
|
-
|
|
2610
|
+
_c.sent();
|
|
2614
2611
|
_adapter.map = this.mapAdapter.map;
|
|
2615
2612
|
return [4 /*yield*/, _adapter.addLayer(_adapter.options)];
|
|
2616
2613
|
case 6:
|
|
2617
|
-
layer =
|
|
2614
|
+
layer = _c.sent();
|
|
2618
2615
|
// checking that the original layer was inserted into the adapter anyway
|
|
2619
2616
|
_adapter.layer = layer;
|
|
2620
2617
|
// think about how to move `id` to the adapter's constructor,
|
|
@@ -2643,8 +2640,8 @@ var NgwMap = (function (exports) {
|
|
|
2643
2640
|
if (!visibility) return [3 /*break*/, 8];
|
|
2644
2641
|
return [4 /*yield*/, this.showLayer(layerId)];
|
|
2645
2642
|
case 7:
|
|
2646
|
-
|
|
2647
|
-
|
|
2643
|
+
_c.sent();
|
|
2644
|
+
_c.label = 8;
|
|
2648
2645
|
case 8:
|
|
2649
2646
|
opacity = options.opacity;
|
|
2650
2647
|
if (opacity !== undefined && opacity <= 1) {
|
|
@@ -2654,12 +2651,12 @@ var NgwMap = (function (exports) {
|
|
|
2654
2651
|
if (!(options.fit && getBounds)) return [3 /*break*/, 11];
|
|
2655
2652
|
return [4 /*yield*/, getBounds.call(_adapter)];
|
|
2656
2653
|
case 9:
|
|
2657
|
-
extent =
|
|
2654
|
+
extent = _c.sent();
|
|
2658
2655
|
if (!extent) return [3 /*break*/, 11];
|
|
2659
2656
|
return [4 /*yield*/, this.fitBounds(extent)];
|
|
2660
2657
|
case 10:
|
|
2661
|
-
|
|
2662
|
-
|
|
2658
|
+
_c.sent();
|
|
2659
|
+
_c.label = 11;
|
|
2663
2660
|
case 11:
|
|
2664
2661
|
this._emitLayerEvent('layer:add', layerId, _adapter);
|
|
2665
2662
|
return [2 /*return*/, _adapter];
|
|
@@ -2852,7 +2849,7 @@ var NgwMap = (function (exports) {
|
|
|
2852
2849
|
this._emitLayerEvent(preEventName, id, l);
|
|
2853
2850
|
this._emitLayerEvent('layer:pretoggle', id, l);
|
|
2854
2851
|
}
|
|
2855
|
-
if (!(toStatus && this.mapAdapter)) return [3 /*break*/,
|
|
2852
|
+
if (!(toStatus && this.mapAdapter)) return [3 /*break*/, 9];
|
|
2856
2853
|
order = l.options.baselayer ? 0 : l.options.order;
|
|
2857
2854
|
if (!(l.options.baselayer && this._baselayers.length)) return [3 /*break*/, 4];
|
|
2858
2855
|
anotherVisibleBaselayers = this._baselayers.filter(function (x) {
|
|
@@ -2871,25 +2868,35 @@ var NgwMap = (function (exports) {
|
|
|
2871
2868
|
_i++;
|
|
2872
2869
|
return [3 /*break*/, 1];
|
|
2873
2870
|
case 4:
|
|
2874
|
-
if (l.showLayer)
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2871
|
+
if (!l.showLayer) return [3 /*break*/, 6];
|
|
2872
|
+
return [4 /*yield*/, l.showLayer.call(l, l.layer)];
|
|
2873
|
+
case 5:
|
|
2874
|
+
_a.sent();
|
|
2875
|
+
return [3 /*break*/, 8];
|
|
2876
|
+
case 6:
|
|
2877
|
+
if (!(l.layer !== undefined)) return [3 /*break*/, 8];
|
|
2878
|
+
return [4 /*yield*/, this.mapAdapter.showLayer(l.layer)];
|
|
2879
|
+
case 7:
|
|
2880
|
+
_a.sent();
|
|
2881
|
+
_a.label = 8;
|
|
2882
|
+
case 8:
|
|
2880
2883
|
if (order !== undefined) {
|
|
2881
2884
|
this.mapAdapter.setLayerOrder(l.layer, order, this._layers);
|
|
2882
2885
|
}
|
|
2883
|
-
return [3 /*break*/,
|
|
2884
|
-
case
|
|
2885
|
-
if (l.hideLayer)
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2886
|
+
return [3 /*break*/, 13];
|
|
2887
|
+
case 9:
|
|
2888
|
+
if (!l.hideLayer) return [3 /*break*/, 11];
|
|
2889
|
+
return [4 /*yield*/, l.hideLayer.call(l, l.layer)];
|
|
2890
|
+
case 10:
|
|
2891
|
+
_a.sent();
|
|
2892
|
+
return [3 /*break*/, 13];
|
|
2893
|
+
case 11:
|
|
2894
|
+
if (!(l.layer !== undefined)) return [3 /*break*/, 13];
|
|
2895
|
+
return [4 /*yield*/, this.mapAdapter.hideLayer(l.layer)];
|
|
2896
|
+
case 12:
|
|
2897
|
+
_a.sent();
|
|
2898
|
+
_a.label = 13;
|
|
2899
|
+
case 13:
|
|
2893
2900
|
if (!silent) {
|
|
2894
2901
|
this._emitLayerEvent(eventName, id, l);
|
|
2895
2902
|
this._emitLayerEvent('layer:toggle', id, l);
|
|
@@ -3153,6 +3160,17 @@ var NgwMap = (function (exports) {
|
|
|
3153
3160
|
attribution: tileJson.attribution,
|
|
3154
3161
|
});
|
|
3155
3162
|
};
|
|
3163
|
+
/** @internal */
|
|
3164
|
+
WebMapLayers.prototype._emitLayerEvent = function (name, id, options) {
|
|
3165
|
+
var name_ = String(name);
|
|
3166
|
+
if (defined(id) && name_.startsWith('layer:')) {
|
|
3167
|
+
var specificLayerName = name_.replace('layer:', 'layer-' + id + ':');
|
|
3168
|
+
// @ts-ignore can't paste template literal key for interface
|
|
3169
|
+
this.emitter.emit(specificLayerName, options);
|
|
3170
|
+
}
|
|
3171
|
+
// @ts-ignore
|
|
3172
|
+
this.emitter.emit(name, options);
|
|
3173
|
+
};
|
|
3156
3174
|
WebMapLayers.prototype._onLayerClick = function (options) {
|
|
3157
3175
|
return __awaiter(this, void 0, void 0, function () {
|
|
3158
3176
|
var id;
|
|
@@ -3212,14 +3230,6 @@ var NgwMap = (function (exports) {
|
|
|
3212
3230
|
}
|
|
3213
3231
|
}
|
|
3214
3232
|
};
|
|
3215
|
-
WebMapLayers.prototype._emitLayerEvent = function (name, id, options) {
|
|
3216
|
-
if (defined(id) && name.startsWith('layer:')) {
|
|
3217
|
-
var specificLayerName = name.replace('layer:', 'layer-' + id + ':');
|
|
3218
|
-
// @ts-ignore can't paste template literal key for interface
|
|
3219
|
-
this.emitter.emit(specificLayerName, options);
|
|
3220
|
-
}
|
|
3221
|
-
this.emitter.emit(name, options);
|
|
3222
|
-
};
|
|
3223
3233
|
return WebMapLayers;
|
|
3224
3234
|
}(WebMapMain));
|
|
3225
3235
|
|
|
@@ -4996,7 +5006,7 @@ var NgwMap = (function (exports) {
|
|
|
4996
5006
|
};
|
|
4997
5007
|
if (logic === 'any') {
|
|
4998
5008
|
filters_.forEach(function (f) {
|
|
4999
|
-
if (
|
|
5009
|
+
if (isPropertyFilter(f)) {
|
|
5000
5010
|
_queries.push(fetchNgwLayerItemsRequest(__assign(__assign({}, opt), { paramList: __spreadArray(__spreadArray([], _parentAllParams, true), [createParam(f)]) })));
|
|
5001
5011
|
}
|
|
5002
5012
|
else {
|
|
@@ -5009,7 +5019,7 @@ var NgwMap = (function (exports) {
|
|
|
5009
5019
|
var propertiesFilterList = [];
|
|
5010
5020
|
for (var _i = 0, filters_1 = filters_; _i < filters_1.length; _i++) {
|
|
5011
5021
|
var f = filters_1[_i];
|
|
5012
|
-
if (
|
|
5022
|
+
if (isPropertyFilter(f)) {
|
|
5013
5023
|
filters_2.push(createParam(f));
|
|
5014
5024
|
}
|
|
5015
5025
|
else {
|
|
@@ -5145,10 +5155,21 @@ var NgwMap = (function (exports) {
|
|
|
5145
5155
|
});
|
|
5146
5156
|
}
|
|
5147
5157
|
|
|
5158
|
+
function fetchNgwLayerCount(_a) {
|
|
5159
|
+
var connector = _a.connector, resourceId = _a.resourceId, _b = _a.cache, cache = _b === void 0 ? true : _b;
|
|
5160
|
+
return connector
|
|
5161
|
+
.get('feature_layer.feature.count', { cache: cache }, {
|
|
5162
|
+
id: resourceId,
|
|
5163
|
+
})
|
|
5164
|
+
.then(function (resp) {
|
|
5165
|
+
return resp.total_count;
|
|
5166
|
+
});
|
|
5167
|
+
}
|
|
5168
|
+
|
|
5148
5169
|
function createGeoJsonAdapter(props) {
|
|
5149
5170
|
var _a, _b;
|
|
5150
5171
|
return __awaiter(this, void 0, void 0, function () {
|
|
5151
|
-
var item, webMap, Adapter, connector, layerOptions, alop, addLayerOptionsPriority, options, GeoJsonAdapter, _fullDataLoad, _lastFilterArgs, _dataPromise, resourceId, getData, removed, abort, NgwGeoJsonAdapter;
|
|
5172
|
+
var item, webMap, Adapter, connector, layerOptions, alop, addLayerOptionsPriority, options, GeoJsonAdapter, _loadedIds, _fullDataLoad, _lastFilterArgs, _dataPromise, resourceId, getData, removed, abort, NgwGeoJsonAdapter;
|
|
5152
5173
|
var _this = this;
|
|
5153
5174
|
return __generator(this, function (_c) {
|
|
5154
5175
|
switch (_c.label) {
|
|
@@ -5157,6 +5178,7 @@ var NgwMap = (function (exports) {
|
|
|
5157
5178
|
addLayerOptionsPriority = alop !== null && alop !== void 0 ? alop : true;
|
|
5158
5179
|
options = layerOptions;
|
|
5159
5180
|
GeoJsonAdapter = Adapter || webMap.mapAdapter.layerAdapters.GEOJSON;
|
|
5181
|
+
_loadedIds = [];
|
|
5160
5182
|
_fullDataLoad = false;
|
|
5161
5183
|
return [4 /*yield*/, resourceIdFromLayerOptions(options, connector)];
|
|
5162
5184
|
case 1:
|
|
@@ -5195,7 +5217,7 @@ var NgwMap = (function (exports) {
|
|
|
5195
5217
|
}
|
|
5196
5218
|
NgwGeoJsonAdapter.prototype.addLayer = function (opt) {
|
|
5197
5219
|
return __awaiter(this, void 0, void 0, function () {
|
|
5198
|
-
var needUpdate, waitFullLoad, layer, updatePromise;
|
|
5220
|
+
var needUpdate, waitFullLoad, strategy, layer, updatePromise;
|
|
5199
5221
|
return __generator(this, function (_a) {
|
|
5200
5222
|
switch (_a.label) {
|
|
5201
5223
|
case 0:
|
|
@@ -5223,8 +5245,9 @@ var NgwMap = (function (exports) {
|
|
|
5223
5245
|
opt.data = undefined;
|
|
5224
5246
|
needUpdate = false;
|
|
5225
5247
|
}
|
|
5248
|
+
strategy = opt.strategy || undefined;
|
|
5249
|
+
this.options.strategy = strategy;
|
|
5226
5250
|
layer = _super.prototype.addLayer.call(this, opt);
|
|
5227
|
-
this.options.strategy = opt.strategy || undefined;
|
|
5228
5251
|
_lastFilterArgs = {
|
|
5229
5252
|
filters: opt.propertiesFilter,
|
|
5230
5253
|
options: getLayerFilterOptions(opt),
|
|
@@ -5238,7 +5261,7 @@ var NgwMap = (function (exports) {
|
|
|
5238
5261
|
_a.sent();
|
|
5239
5262
|
_a.label = 2;
|
|
5240
5263
|
case 2:
|
|
5241
|
-
if (
|
|
5264
|
+
if (strategy && strategy.startsWith('BBOX') && !_fullDataLoad) {
|
|
5242
5265
|
this._addBboxEventListener();
|
|
5243
5266
|
}
|
|
5244
5267
|
return [2 /*return*/, layer];
|
|
@@ -5252,10 +5275,11 @@ var NgwMap = (function (exports) {
|
|
|
5252
5275
|
};
|
|
5253
5276
|
NgwGeoJsonAdapter.prototype.getBounds = function () {
|
|
5254
5277
|
return __awaiter(this, void 0, void 0, function () {
|
|
5255
|
-
var hasData;
|
|
5278
|
+
var hasData, strategy;
|
|
5256
5279
|
return __generator(this, function (_a) {
|
|
5257
5280
|
hasData = this.getLayers && this.getLayers().length;
|
|
5258
|
-
|
|
5281
|
+
strategy = this.options.strategy;
|
|
5282
|
+
if ((strategy === null || strategy === void 0 ? void 0 : strategy.startsWith('BBOX')) || hasData) {
|
|
5259
5283
|
return [2 /*return*/, fetchNgwResourceExtent(item, connector)];
|
|
5260
5284
|
}
|
|
5261
5285
|
else {
|
|
@@ -5278,61 +5302,88 @@ var NgwMap = (function (exports) {
|
|
|
5278
5302
|
abort();
|
|
5279
5303
|
};
|
|
5280
5304
|
NgwGeoJsonAdapter.prototype.getCount = function () {
|
|
5281
|
-
|
|
5282
|
-
if (this._count !== undefined) {
|
|
5283
|
-
return this._count;
|
|
5284
|
-
}
|
|
5285
|
-
return connector
|
|
5286
|
-
.get('feature_layer.feature.count', { cache: true }, {
|
|
5287
|
-
id: resourceId,
|
|
5288
|
-
})
|
|
5289
|
-
.then(function (resp) {
|
|
5290
|
-
if (resp) {
|
|
5291
|
-
_this._count = resp.total_count;
|
|
5292
|
-
return _this._count;
|
|
5293
|
-
}
|
|
5294
|
-
});
|
|
5305
|
+
return fetchNgwLayerCount({ connector: connector, resourceId: resourceId, cache: true });
|
|
5295
5306
|
};
|
|
5296
5307
|
NgwGeoJsonAdapter.prototype.updateLayer = function (filterArgs) {
|
|
5308
|
+
var _a;
|
|
5297
5309
|
return __awaiter(this, void 0, void 0, function () {
|
|
5298
|
-
var data, count, er_1;
|
|
5299
|
-
return __generator(this, function (
|
|
5300
|
-
switch (
|
|
5310
|
+
var _b, minZoom, maxZoom, zoom, data, newData, count, _i, _c, f, er_1;
|
|
5311
|
+
return __generator(this, function (_d) {
|
|
5312
|
+
switch (_d.label) {
|
|
5301
5313
|
case 0:
|
|
5302
5314
|
filterArgs = filterArgs || _lastFilterArgs || {};
|
|
5303
|
-
if (!(this.options.strategy === 'BBOX')) return [3 /*break*/, 2];
|
|
5315
|
+
if (!((_a = this.options.strategy) === null || _a === void 0 ? void 0 : _a.startsWith('BBOX'))) return [3 /*break*/, 2];
|
|
5304
5316
|
return [4 /*yield*/, webMap.onLoad('create')];
|
|
5305
5317
|
case 1:
|
|
5306
|
-
|
|
5318
|
+
_d.sent();
|
|
5307
5319
|
filterArgs.options = filterArgs.options || {};
|
|
5308
5320
|
filterArgs.options.intersects = webMap.getBounds();
|
|
5309
|
-
|
|
5321
|
+
_b = this.options, minZoom = _b.minZoom, maxZoom = _b.maxZoom;
|
|
5322
|
+
zoom = webMap.getZoom();
|
|
5323
|
+
if (minZoom !== undefined && zoom < minZoom) {
|
|
5324
|
+
return [2 /*return*/];
|
|
5325
|
+
}
|
|
5326
|
+
if (maxZoom !== undefined && zoom > maxZoom) {
|
|
5327
|
+
return [2 /*return*/];
|
|
5328
|
+
}
|
|
5329
|
+
if (_fullDataLoad) {
|
|
5330
|
+
return [2 /*return*/];
|
|
5331
|
+
}
|
|
5332
|
+
_d.label = 2;
|
|
5310
5333
|
case 2:
|
|
5311
5334
|
if (removed) {
|
|
5312
5335
|
return [2 /*return*/];
|
|
5313
5336
|
}
|
|
5314
|
-
|
|
5337
|
+
_d.label = 3;
|
|
5315
5338
|
case 3:
|
|
5316
|
-
|
|
5339
|
+
_d.trys.push([3, 10, , 11]);
|
|
5340
|
+
this.emitter.emit('preupdate', filterArgs);
|
|
5341
|
+
webMap._emitLayerEvent('layer:preupdate', options.id || '', filterArgs);
|
|
5317
5342
|
return [4 /*yield*/, getData(filterArgs.filters, __assign(__assign({}, filterArgs.options), { srs: this.options.srs }))];
|
|
5318
5343
|
case 4:
|
|
5319
|
-
data =
|
|
5344
|
+
data = _d.sent();
|
|
5345
|
+
newData = data;
|
|
5320
5346
|
return [4 /*yield*/, this.getCount()];
|
|
5321
5347
|
case 5:
|
|
5322
|
-
count =
|
|
5323
|
-
|
|
5324
|
-
|
|
5348
|
+
count = _d.sent();
|
|
5349
|
+
if (!(this.options.strategy === 'BBOX+')) return [3 /*break*/, 7];
|
|
5350
|
+
newData = {
|
|
5351
|
+
type: 'FeatureCollection',
|
|
5352
|
+
features: [],
|
|
5353
|
+
};
|
|
5354
|
+
for (_i = 0, _c = data.features; _i < _c.length; _i++) {
|
|
5355
|
+
f = _c[_i];
|
|
5356
|
+
if (_loadedIds.indexOf(String(f.id)) === -1) {
|
|
5357
|
+
_loadedIds.push(String(f.id));
|
|
5358
|
+
newData.features.push(f);
|
|
5359
|
+
}
|
|
5360
|
+
}
|
|
5361
|
+
_fullDataLoad = count !== undefined && _loadedIds.length >= count;
|
|
5362
|
+
return [4 /*yield*/, webMap.addLayerData(this, newData)];
|
|
5325
5363
|
case 6:
|
|
5326
|
-
|
|
5327
|
-
|
|
5328
|
-
return [3 /*break*/, 8];
|
|
5364
|
+
_d.sent();
|
|
5365
|
+
return [3 /*break*/, 9];
|
|
5329
5366
|
case 7:
|
|
5330
|
-
|
|
5367
|
+
_fullDataLoad = count !== undefined && data.features.length >= count;
|
|
5368
|
+
return [4 /*yield*/, webMap.setLayerData(this, data)];
|
|
5369
|
+
case 8:
|
|
5370
|
+
_d.sent();
|
|
5371
|
+
_d.label = 9;
|
|
5372
|
+
case 9:
|
|
5373
|
+
this.emitter.emit('updated', data);
|
|
5374
|
+
webMap._emitLayerEvent('layer:updated', options.id || '', {
|
|
5375
|
+
data: data,
|
|
5376
|
+
newData: newData,
|
|
5377
|
+
isFull: _fullDataLoad,
|
|
5378
|
+
});
|
|
5379
|
+
return [3 /*break*/, 11];
|
|
5380
|
+
case 10:
|
|
5381
|
+
er_1 = _d.sent();
|
|
5331
5382
|
if (er_1 instanceof Error && er_1.name !== 'CancelError') {
|
|
5332
5383
|
throw er_1;
|
|
5333
5384
|
}
|
|
5334
|
-
return [3 /*break*/,
|
|
5335
|
-
case
|
|
5385
|
+
return [3 /*break*/, 11];
|
|
5386
|
+
case 11:
|
|
5336
5387
|
if (_super.prototype.updateLayer) {
|
|
5337
5388
|
_super.prototype.updateLayer.call(this);
|
|
5338
5389
|
}
|
|
@@ -6278,12 +6329,7 @@ var NgwMap = (function (exports) {
|
|
|
6278
6329
|
options.order = Number((this.options.order | 0) + '.' + subLevel);
|
|
6279
6330
|
}
|
|
6280
6331
|
if (item.item_type === 'layer') {
|
|
6281
|
-
var maxZoom =
|
|
6282
|
-
? this._mapScaleToZoomLevel(item.layer_max_scale_denom)
|
|
6283
|
-
: this.webMap.options.maxZoom;
|
|
6284
|
-
var minZoom = item.layer_min_scale_denom
|
|
6285
|
-
? this._mapScaleToZoomLevel(item.layer_min_scale_denom)
|
|
6286
|
-
: this.webMap.options.minZoom;
|
|
6332
|
+
var _a = this._getZoomRange(item), maxZoom = _a.maxZoom, minZoom = _a.minZoom;
|
|
6287
6333
|
objectAssign(options, {
|
|
6288
6334
|
updateWmsParams: item.updateWmsParams,
|
|
6289
6335
|
url: item.url,
|
|
@@ -6306,6 +6352,21 @@ var NgwMap = (function (exports) {
|
|
|
6306
6352
|
NgwWebmapItem.prototype._mapScaleToZoomLevel = function (scale) {
|
|
6307
6353
|
return setScaleRatio(scale);
|
|
6308
6354
|
};
|
|
6355
|
+
NgwWebmapItem.prototype._getZoomRange = function (item) {
|
|
6356
|
+
var minZoomWebmap = this.options.minZoom;
|
|
6357
|
+
var maxZoomWebmap = this.options.maxZoom;
|
|
6358
|
+
var minZoomLayer = item.layer_min_scale_denom
|
|
6359
|
+
? this._mapScaleToZoomLevel(item.layer_min_scale_denom)
|
|
6360
|
+
: undefined;
|
|
6361
|
+
var maxZoomLayer = item.layer_max_scale_denom
|
|
6362
|
+
? this._mapScaleToZoomLevel(item.layer_max_scale_denom)
|
|
6363
|
+
: undefined;
|
|
6364
|
+
var minZooms = [minZoomWebmap, minZoomLayer].filter(Boolean);
|
|
6365
|
+
var maxZooms = [maxZoomWebmap, maxZoomLayer].filter(Boolean);
|
|
6366
|
+
var minZoom = Math.max.apply(Math, minZooms);
|
|
6367
|
+
var maxZoom = Math.min.apply(Math, maxZooms);
|
|
6368
|
+
return { minZoom: minZoom, maxZoom: maxZoom };
|
|
6369
|
+
};
|
|
6309
6370
|
NgwWebmapItem.prototype._init = function (item) {
|
|
6310
6371
|
var _this = this;
|
|
6311
6372
|
this.initItem(item).then(function () {
|
|
@@ -6393,15 +6454,59 @@ var NgwMap = (function (exports) {
|
|
|
6393
6454
|
return this._removed;
|
|
6394
6455
|
};
|
|
6395
6456
|
OnFirstShowAdapter.prototype.showLayer = function () {
|
|
6396
|
-
this
|
|
6397
|
-
|
|
6398
|
-
this
|
|
6399
|
-
|
|
6457
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
6458
|
+
var _i, _a, x;
|
|
6459
|
+
return __generator(this, function (_b) {
|
|
6460
|
+
switch (_b.label) {
|
|
6461
|
+
case 0:
|
|
6462
|
+
this.options.visibility = true;
|
|
6463
|
+
if (!this.layer.length) return [3 /*break*/, 5];
|
|
6464
|
+
_i = 0, _a = this.layer;
|
|
6465
|
+
_b.label = 1;
|
|
6466
|
+
case 1:
|
|
6467
|
+
if (!(_i < _a.length)) return [3 /*break*/, 4];
|
|
6468
|
+
x = _a[_i];
|
|
6469
|
+
return [4 /*yield*/, webMap.showLayer(x)];
|
|
6470
|
+
case 2:
|
|
6471
|
+
_b.sent();
|
|
6472
|
+
_b.label = 3;
|
|
6473
|
+
case 3:
|
|
6474
|
+
_i++;
|
|
6475
|
+
return [3 /*break*/, 1];
|
|
6476
|
+
case 4: return [3 /*break*/, 7];
|
|
6477
|
+
case 5: return [4 /*yield*/, this.loadLayer()];
|
|
6478
|
+
case 6:
|
|
6479
|
+
_b.sent();
|
|
6480
|
+
_b.label = 7;
|
|
6481
|
+
case 7: return [2 /*return*/];
|
|
6482
|
+
}
|
|
6400
6483
|
});
|
|
6401
|
-
}
|
|
6402
|
-
|
|
6403
|
-
|
|
6404
|
-
|
|
6484
|
+
});
|
|
6485
|
+
};
|
|
6486
|
+
OnFirstShowAdapter.prototype.hideLayer = function () {
|
|
6487
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
6488
|
+
var _i, _a, x;
|
|
6489
|
+
return __generator(this, function (_b) {
|
|
6490
|
+
switch (_b.label) {
|
|
6491
|
+
case 0:
|
|
6492
|
+
this.options.visibility = false;
|
|
6493
|
+
if (!this.layer) return [3 /*break*/, 4];
|
|
6494
|
+
_i = 0, _a = this.layer;
|
|
6495
|
+
_b.label = 1;
|
|
6496
|
+
case 1:
|
|
6497
|
+
if (!(_i < _a.length)) return [3 /*break*/, 4];
|
|
6498
|
+
x = _a[_i];
|
|
6499
|
+
return [4 /*yield*/, webMap.hideLayer(x)];
|
|
6500
|
+
case 2:
|
|
6501
|
+
_b.sent();
|
|
6502
|
+
_b.label = 3;
|
|
6503
|
+
case 3:
|
|
6504
|
+
_i++;
|
|
6505
|
+
return [3 /*break*/, 1];
|
|
6506
|
+
case 4: return [2 /*return*/];
|
|
6507
|
+
}
|
|
6508
|
+
});
|
|
6509
|
+
});
|
|
6405
6510
|
};
|
|
6406
6511
|
OnFirstShowAdapter.prototype.loadLayer = function () {
|
|
6407
6512
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -6431,13 +6536,13 @@ var NgwMap = (function (exports) {
|
|
|
6431
6536
|
if (this._removed) {
|
|
6432
6537
|
webMap.removeLayer(adapter);
|
|
6433
6538
|
}
|
|
6539
|
+
this.layer.push(adapter);
|
|
6434
6540
|
if (!this.options.visibility) return [3 /*break*/, 4];
|
|
6435
6541
|
return [4 /*yield*/, webMap.showLayer(adapter)];
|
|
6436
6542
|
case 3:
|
|
6437
6543
|
_a.sent();
|
|
6438
6544
|
_a.label = 4;
|
|
6439
6545
|
case 4:
|
|
6440
|
-
this.layer.push(adapter);
|
|
6441
6546
|
this._creatingInProgress = false;
|
|
6442
6547
|
_a.label = 5;
|
|
6443
6548
|
case 5: return [2 /*return*/, this.layer];
|
|
@@ -6445,12 +6550,6 @@ var NgwMap = (function (exports) {
|
|
|
6445
6550
|
});
|
|
6446
6551
|
});
|
|
6447
6552
|
};
|
|
6448
|
-
OnFirstShowAdapter.prototype.hideLayer = function () {
|
|
6449
|
-
this.options.visibility = false;
|
|
6450
|
-
if (this.layer) {
|
|
6451
|
-
this.layer.forEach(function (x) { return webMap.hideLayer(x); });
|
|
6452
|
-
}
|
|
6453
|
-
};
|
|
6454
6553
|
return OnFirstShowAdapter;
|
|
6455
6554
|
}());
|
|
6456
6555
|
return [2 /*return*/, OnFirstShowAdapter];
|
|
@@ -6731,6 +6830,8 @@ var NgwMap = (function (exports) {
|
|
|
6731
6830
|
options.order = _this.options.order;
|
|
6732
6831
|
options.ratio = _this.options.ratio;
|
|
6733
6832
|
options.crossOrigin = _this.options.crossOrigin;
|
|
6833
|
+
options.minZoom = _this.options.minZoom;
|
|
6834
|
+
options.maxZoom = _this.options.maxZoom;
|
|
6734
6835
|
options.drawOrderEnabled = webmap_1.draw_order_enabled;
|
|
6735
6836
|
var layer = new _this.NgwWebmapItem(_this.options.webMap, webmap_1.root_item, options, _this.options.connector);
|
|
6736
6837
|
layer.emitter.on('init', function () { return resolve(layer); });
|
|
@@ -8480,5 +8581,5 @@ var NgwMap = (function (exports) {
|
|
|
8480
8581
|
|
|
8481
8582
|
return exports;
|
|
8482
8583
|
|
|
8483
|
-
}({})
|
|
8584
|
+
})({});
|
|
8484
8585
|
//# sourceMappingURL=ngw-map.global.js.map
|