@nextgis/ngw-map 1.8.1 → 1.9.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/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 +132 -83
- 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 +231 -129
- 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.0; 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);
|
|
@@ -2905,16 +2912,19 @@ var NgwMap = (function (exports) {
|
|
|
2905
2912
|
return Promise.resolve();
|
|
2906
2913
|
};
|
|
2907
2914
|
WebMapLayers.prototype.updateLayer = function (layerDef) {
|
|
2915
|
+
var _this = this;
|
|
2908
2916
|
var layer = this.getLayer(layerDef);
|
|
2909
2917
|
if (layer) {
|
|
2910
2918
|
if (layer.updateLayer) {
|
|
2911
|
-
layer.updateLayer();
|
|
2919
|
+
return Promise.resolve(layer.updateLayer());
|
|
2912
2920
|
}
|
|
2913
2921
|
else if (this.isLayerVisible(layer)) {
|
|
2914
|
-
this.hideLayer(layer, { silent: true })
|
|
2915
|
-
|
|
2922
|
+
return this.hideLayer(layer, { silent: true }).then(function () {
|
|
2923
|
+
return _this.showLayer(layer, { silent: true });
|
|
2924
|
+
});
|
|
2916
2925
|
}
|
|
2917
2926
|
}
|
|
2927
|
+
return Promise.resolve();
|
|
2918
2928
|
};
|
|
2919
2929
|
/**
|
|
2920
2930
|
* Set transparency for a given layer by number from 0 to 1
|
|
@@ -3150,6 +3160,17 @@ var NgwMap = (function (exports) {
|
|
|
3150
3160
|
attribution: tileJson.attribution,
|
|
3151
3161
|
});
|
|
3152
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
|
+
};
|
|
3153
3174
|
WebMapLayers.prototype._onLayerClick = function (options) {
|
|
3154
3175
|
return __awaiter(this, void 0, void 0, function () {
|
|
3155
3176
|
var id;
|
|
@@ -3209,14 +3230,6 @@ var NgwMap = (function (exports) {
|
|
|
3209
3230
|
}
|
|
3210
3231
|
}
|
|
3211
3232
|
};
|
|
3212
|
-
WebMapLayers.prototype._emitLayerEvent = function (name, id, options) {
|
|
3213
|
-
if (defined(id) && name.startsWith('layer:')) {
|
|
3214
|
-
var specificLayerName = name.replace('layer:', 'layer-' + id + ':');
|
|
3215
|
-
// @ts-ignore can't paste template literal key for interface
|
|
3216
|
-
this.emitter.emit(specificLayerName, options);
|
|
3217
|
-
}
|
|
3218
|
-
this.emitter.emit(name, options);
|
|
3219
|
-
};
|
|
3220
3233
|
return WebMapLayers;
|
|
3221
3234
|
}(WebMapMain));
|
|
3222
3235
|
|
|
@@ -4993,7 +5006,7 @@ var NgwMap = (function (exports) {
|
|
|
4993
5006
|
};
|
|
4994
5007
|
if (logic === 'any') {
|
|
4995
5008
|
filters_.forEach(function (f) {
|
|
4996
|
-
if (
|
|
5009
|
+
if (isPropertyFilter(f)) {
|
|
4997
5010
|
_queries.push(fetchNgwLayerItemsRequest(__assign(__assign({}, opt), { paramList: __spreadArray(__spreadArray([], _parentAllParams, true), [createParam(f)]) })));
|
|
4998
5011
|
}
|
|
4999
5012
|
else {
|
|
@@ -5006,7 +5019,7 @@ var NgwMap = (function (exports) {
|
|
|
5006
5019
|
var propertiesFilterList = [];
|
|
5007
5020
|
for (var _i = 0, filters_1 = filters_; _i < filters_1.length; _i++) {
|
|
5008
5021
|
var f = filters_1[_i];
|
|
5009
|
-
if (
|
|
5022
|
+
if (isPropertyFilter(f)) {
|
|
5010
5023
|
filters_2.push(createParam(f));
|
|
5011
5024
|
}
|
|
5012
5025
|
else {
|
|
@@ -5142,10 +5155,21 @@ var NgwMap = (function (exports) {
|
|
|
5142
5155
|
});
|
|
5143
5156
|
}
|
|
5144
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
|
+
|
|
5145
5169
|
function createGeoJsonAdapter(props) {
|
|
5146
5170
|
var _a, _b;
|
|
5147
5171
|
return __awaiter(this, void 0, void 0, function () {
|
|
5148
|
-
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;
|
|
5149
5173
|
var _this = this;
|
|
5150
5174
|
return __generator(this, function (_c) {
|
|
5151
5175
|
switch (_c.label) {
|
|
@@ -5154,6 +5178,7 @@ var NgwMap = (function (exports) {
|
|
|
5154
5178
|
addLayerOptionsPriority = alop !== null && alop !== void 0 ? alop : true;
|
|
5155
5179
|
options = layerOptions;
|
|
5156
5180
|
GeoJsonAdapter = Adapter || webMap.mapAdapter.layerAdapters.GEOJSON;
|
|
5181
|
+
_loadedIds = [];
|
|
5157
5182
|
_fullDataLoad = false;
|
|
5158
5183
|
return [4 /*yield*/, resourceIdFromLayerOptions(options, connector)];
|
|
5159
5184
|
case 1:
|
|
@@ -5192,7 +5217,7 @@ var NgwMap = (function (exports) {
|
|
|
5192
5217
|
}
|
|
5193
5218
|
NgwGeoJsonAdapter.prototype.addLayer = function (opt) {
|
|
5194
5219
|
return __awaiter(this, void 0, void 0, function () {
|
|
5195
|
-
var needUpdate, waitFullLoad, layer, updatePromise;
|
|
5220
|
+
var needUpdate, waitFullLoad, strategy, layer, updatePromise;
|
|
5196
5221
|
return __generator(this, function (_a) {
|
|
5197
5222
|
switch (_a.label) {
|
|
5198
5223
|
case 0:
|
|
@@ -5220,8 +5245,9 @@ var NgwMap = (function (exports) {
|
|
|
5220
5245
|
opt.data = undefined;
|
|
5221
5246
|
needUpdate = false;
|
|
5222
5247
|
}
|
|
5248
|
+
strategy = opt.strategy || undefined;
|
|
5249
|
+
this.options.strategy = strategy;
|
|
5223
5250
|
layer = _super.prototype.addLayer.call(this, opt);
|
|
5224
|
-
this.options.strategy = opt.strategy || undefined;
|
|
5225
5251
|
_lastFilterArgs = {
|
|
5226
5252
|
filters: opt.propertiesFilter,
|
|
5227
5253
|
options: getLayerFilterOptions(opt),
|
|
@@ -5235,7 +5261,7 @@ var NgwMap = (function (exports) {
|
|
|
5235
5261
|
_a.sent();
|
|
5236
5262
|
_a.label = 2;
|
|
5237
5263
|
case 2:
|
|
5238
|
-
if (
|
|
5264
|
+
if (strategy && strategy.startsWith('BBOX') && !_fullDataLoad) {
|
|
5239
5265
|
this._addBboxEventListener();
|
|
5240
5266
|
}
|
|
5241
5267
|
return [2 /*return*/, layer];
|
|
@@ -5249,10 +5275,11 @@ var NgwMap = (function (exports) {
|
|
|
5249
5275
|
};
|
|
5250
5276
|
NgwGeoJsonAdapter.prototype.getBounds = function () {
|
|
5251
5277
|
return __awaiter(this, void 0, void 0, function () {
|
|
5252
|
-
var hasData;
|
|
5278
|
+
var hasData, strategy;
|
|
5253
5279
|
return __generator(this, function (_a) {
|
|
5254
5280
|
hasData = this.getLayers && this.getLayers().length;
|
|
5255
|
-
|
|
5281
|
+
strategy = this.options.strategy;
|
|
5282
|
+
if ((strategy === null || strategy === void 0 ? void 0 : strategy.startsWith('BBOX')) || hasData) {
|
|
5256
5283
|
return [2 /*return*/, fetchNgwResourceExtent(item, connector)];
|
|
5257
5284
|
}
|
|
5258
5285
|
else {
|
|
@@ -5275,61 +5302,86 @@ var NgwMap = (function (exports) {
|
|
|
5275
5302
|
abort();
|
|
5276
5303
|
};
|
|
5277
5304
|
NgwGeoJsonAdapter.prototype.getCount = function () {
|
|
5278
|
-
|
|
5279
|
-
if (this._count !== undefined) {
|
|
5280
|
-
return this._count;
|
|
5281
|
-
}
|
|
5282
|
-
return connector
|
|
5283
|
-
.get('feature_layer.feature.count', { cache: true }, {
|
|
5284
|
-
id: resourceId,
|
|
5285
|
-
})
|
|
5286
|
-
.then(function (resp) {
|
|
5287
|
-
if (resp) {
|
|
5288
|
-
_this._count = resp.total_count;
|
|
5289
|
-
return _this._count;
|
|
5290
|
-
}
|
|
5291
|
-
});
|
|
5305
|
+
return fetchNgwLayerCount({ connector: connector, resourceId: resourceId, cache: true });
|
|
5292
5306
|
};
|
|
5293
5307
|
NgwGeoJsonAdapter.prototype.updateLayer = function (filterArgs) {
|
|
5308
|
+
var _a;
|
|
5294
5309
|
return __awaiter(this, void 0, void 0, function () {
|
|
5295
|
-
var data, count, er_1;
|
|
5296
|
-
return __generator(this, function (
|
|
5297
|
-
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) {
|
|
5298
5313
|
case 0:
|
|
5299
5314
|
filterArgs = filterArgs || _lastFilterArgs || {};
|
|
5300
|
-
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];
|
|
5301
5316
|
return [4 /*yield*/, webMap.onLoad('create')];
|
|
5302
5317
|
case 1:
|
|
5303
|
-
|
|
5318
|
+
_d.sent();
|
|
5304
5319
|
filterArgs.options = filterArgs.options || {};
|
|
5305
5320
|
filterArgs.options.intersects = webMap.getBounds();
|
|
5306
|
-
|
|
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;
|
|
5307
5333
|
case 2:
|
|
5308
5334
|
if (removed) {
|
|
5309
5335
|
return [2 /*return*/];
|
|
5310
5336
|
}
|
|
5311
|
-
|
|
5337
|
+
_d.label = 3;
|
|
5312
5338
|
case 3:
|
|
5313
|
-
|
|
5339
|
+
_d.trys.push([3, 10, , 11]);
|
|
5314
5340
|
return [4 /*yield*/, getData(filterArgs.filters, __assign(__assign({}, filterArgs.options), { srs: this.options.srs }))];
|
|
5315
5341
|
case 4:
|
|
5316
|
-
data =
|
|
5342
|
+
data = _d.sent();
|
|
5343
|
+
newData = data;
|
|
5317
5344
|
return [4 /*yield*/, this.getCount()];
|
|
5318
5345
|
case 5:
|
|
5319
|
-
count =
|
|
5320
|
-
|
|
5321
|
-
|
|
5346
|
+
count = _d.sent();
|
|
5347
|
+
if (!(this.options.strategy === 'BBOX+')) return [3 /*break*/, 7];
|
|
5348
|
+
newData = {
|
|
5349
|
+
type: 'FeatureCollection',
|
|
5350
|
+
features: [],
|
|
5351
|
+
};
|
|
5352
|
+
for (_i = 0, _c = data.features; _i < _c.length; _i++) {
|
|
5353
|
+
f = _c[_i];
|
|
5354
|
+
if (_loadedIds.indexOf(String(f.id)) === -1) {
|
|
5355
|
+
_loadedIds.push(String(f.id));
|
|
5356
|
+
newData.features.push(f);
|
|
5357
|
+
}
|
|
5358
|
+
}
|
|
5359
|
+
_fullDataLoad = count !== undefined && _loadedIds.length >= count;
|
|
5360
|
+
return [4 /*yield*/, webMap.addLayerData(this, newData)];
|
|
5322
5361
|
case 6:
|
|
5323
|
-
|
|
5324
|
-
|
|
5325
|
-
return [3 /*break*/, 8];
|
|
5362
|
+
_d.sent();
|
|
5363
|
+
return [3 /*break*/, 9];
|
|
5326
5364
|
case 7:
|
|
5327
|
-
|
|
5365
|
+
_fullDataLoad = count !== undefined && data.features.length >= count;
|
|
5366
|
+
return [4 /*yield*/, webMap.setLayerData(this, data)];
|
|
5367
|
+
case 8:
|
|
5368
|
+
_d.sent();
|
|
5369
|
+
_d.label = 9;
|
|
5370
|
+
case 9:
|
|
5371
|
+
this.emitter.emit('updated', data);
|
|
5372
|
+
webMap._emitLayerEvent('layer:updated', options.id || '', {
|
|
5373
|
+
data: data,
|
|
5374
|
+
newData: newData,
|
|
5375
|
+
isFull: _fullDataLoad,
|
|
5376
|
+
});
|
|
5377
|
+
return [3 /*break*/, 11];
|
|
5378
|
+
case 10:
|
|
5379
|
+
er_1 = _d.sent();
|
|
5328
5380
|
if (er_1 instanceof Error && er_1.name !== 'CancelError') {
|
|
5329
5381
|
throw er_1;
|
|
5330
5382
|
}
|
|
5331
|
-
return [3 /*break*/,
|
|
5332
|
-
case
|
|
5383
|
+
return [3 /*break*/, 11];
|
|
5384
|
+
case 11:
|
|
5333
5385
|
if (_super.prototype.updateLayer) {
|
|
5334
5386
|
_super.prototype.updateLayer.call(this);
|
|
5335
5387
|
}
|
|
@@ -6275,12 +6327,7 @@ var NgwMap = (function (exports) {
|
|
|
6275
6327
|
options.order = Number((this.options.order | 0) + '.' + subLevel);
|
|
6276
6328
|
}
|
|
6277
6329
|
if (item.item_type === 'layer') {
|
|
6278
|
-
var maxZoom =
|
|
6279
|
-
? this._mapScaleToZoomLevel(item.layer_max_scale_denom)
|
|
6280
|
-
: this.webMap.options.maxZoom;
|
|
6281
|
-
var minZoom = item.layer_min_scale_denom
|
|
6282
|
-
? this._mapScaleToZoomLevel(item.layer_min_scale_denom)
|
|
6283
|
-
: this.webMap.options.minZoom;
|
|
6330
|
+
var _a = this._getZoomRange(item), maxZoom = _a.maxZoom, minZoom = _a.minZoom;
|
|
6284
6331
|
objectAssign(options, {
|
|
6285
6332
|
updateWmsParams: item.updateWmsParams,
|
|
6286
6333
|
url: item.url,
|
|
@@ -6303,6 +6350,21 @@ var NgwMap = (function (exports) {
|
|
|
6303
6350
|
NgwWebmapItem.prototype._mapScaleToZoomLevel = function (scale) {
|
|
6304
6351
|
return setScaleRatio(scale);
|
|
6305
6352
|
};
|
|
6353
|
+
NgwWebmapItem.prototype._getZoomRange = function (item) {
|
|
6354
|
+
var minZoomWebmap = this.options.minZoom;
|
|
6355
|
+
var maxZoomWebmap = this.options.maxZoom;
|
|
6356
|
+
var minZoomLayer = item.layer_min_scale_denom
|
|
6357
|
+
? this._mapScaleToZoomLevel(item.layer_min_scale_denom)
|
|
6358
|
+
: undefined;
|
|
6359
|
+
var maxZoomLayer = item.layer_max_scale_denom
|
|
6360
|
+
? this._mapScaleToZoomLevel(item.layer_max_scale_denom)
|
|
6361
|
+
: undefined;
|
|
6362
|
+
var minZooms = [minZoomWebmap, minZoomLayer].filter(Boolean);
|
|
6363
|
+
var maxZooms = [maxZoomWebmap, maxZoomLayer].filter(Boolean);
|
|
6364
|
+
var minZoom = Math.max.apply(Math, minZooms);
|
|
6365
|
+
var maxZoom = Math.min.apply(Math, maxZooms);
|
|
6366
|
+
return { minZoom: minZoom, maxZoom: maxZoom };
|
|
6367
|
+
};
|
|
6306
6368
|
NgwWebmapItem.prototype._init = function (item) {
|
|
6307
6369
|
var _this = this;
|
|
6308
6370
|
this.initItem(item).then(function () {
|
|
@@ -6390,15 +6452,59 @@ var NgwMap = (function (exports) {
|
|
|
6390
6452
|
return this._removed;
|
|
6391
6453
|
};
|
|
6392
6454
|
OnFirstShowAdapter.prototype.showLayer = function () {
|
|
6393
|
-
this
|
|
6394
|
-
|
|
6395
|
-
this
|
|
6396
|
-
|
|
6455
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
6456
|
+
var _i, _a, x;
|
|
6457
|
+
return __generator(this, function (_b) {
|
|
6458
|
+
switch (_b.label) {
|
|
6459
|
+
case 0:
|
|
6460
|
+
this.options.visibility = true;
|
|
6461
|
+
if (!this.layer.length) return [3 /*break*/, 5];
|
|
6462
|
+
_i = 0, _a = this.layer;
|
|
6463
|
+
_b.label = 1;
|
|
6464
|
+
case 1:
|
|
6465
|
+
if (!(_i < _a.length)) return [3 /*break*/, 4];
|
|
6466
|
+
x = _a[_i];
|
|
6467
|
+
return [4 /*yield*/, webMap.showLayer(x)];
|
|
6468
|
+
case 2:
|
|
6469
|
+
_b.sent();
|
|
6470
|
+
_b.label = 3;
|
|
6471
|
+
case 3:
|
|
6472
|
+
_i++;
|
|
6473
|
+
return [3 /*break*/, 1];
|
|
6474
|
+
case 4: return [3 /*break*/, 7];
|
|
6475
|
+
case 5: return [4 /*yield*/, this.loadLayer()];
|
|
6476
|
+
case 6:
|
|
6477
|
+
_b.sent();
|
|
6478
|
+
_b.label = 7;
|
|
6479
|
+
case 7: return [2 /*return*/];
|
|
6480
|
+
}
|
|
6397
6481
|
});
|
|
6398
|
-
}
|
|
6399
|
-
|
|
6400
|
-
|
|
6401
|
-
|
|
6482
|
+
});
|
|
6483
|
+
};
|
|
6484
|
+
OnFirstShowAdapter.prototype.hideLayer = function () {
|
|
6485
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
6486
|
+
var _i, _a, x;
|
|
6487
|
+
return __generator(this, function (_b) {
|
|
6488
|
+
switch (_b.label) {
|
|
6489
|
+
case 0:
|
|
6490
|
+
this.options.visibility = false;
|
|
6491
|
+
if (!this.layer) return [3 /*break*/, 4];
|
|
6492
|
+
_i = 0, _a = this.layer;
|
|
6493
|
+
_b.label = 1;
|
|
6494
|
+
case 1:
|
|
6495
|
+
if (!(_i < _a.length)) return [3 /*break*/, 4];
|
|
6496
|
+
x = _a[_i];
|
|
6497
|
+
return [4 /*yield*/, webMap.hideLayer(x)];
|
|
6498
|
+
case 2:
|
|
6499
|
+
_b.sent();
|
|
6500
|
+
_b.label = 3;
|
|
6501
|
+
case 3:
|
|
6502
|
+
_i++;
|
|
6503
|
+
return [3 /*break*/, 1];
|
|
6504
|
+
case 4: return [2 /*return*/];
|
|
6505
|
+
}
|
|
6506
|
+
});
|
|
6507
|
+
});
|
|
6402
6508
|
};
|
|
6403
6509
|
OnFirstShowAdapter.prototype.loadLayer = function () {
|
|
6404
6510
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -6428,13 +6534,13 @@ var NgwMap = (function (exports) {
|
|
|
6428
6534
|
if (this._removed) {
|
|
6429
6535
|
webMap.removeLayer(adapter);
|
|
6430
6536
|
}
|
|
6537
|
+
this.layer.push(adapter);
|
|
6431
6538
|
if (!this.options.visibility) return [3 /*break*/, 4];
|
|
6432
6539
|
return [4 /*yield*/, webMap.showLayer(adapter)];
|
|
6433
6540
|
case 3:
|
|
6434
6541
|
_a.sent();
|
|
6435
6542
|
_a.label = 4;
|
|
6436
6543
|
case 4:
|
|
6437
|
-
this.layer.push(adapter);
|
|
6438
6544
|
this._creatingInProgress = false;
|
|
6439
6545
|
_a.label = 5;
|
|
6440
6546
|
case 5: return [2 /*return*/, this.layer];
|
|
@@ -6442,12 +6548,6 @@ var NgwMap = (function (exports) {
|
|
|
6442
6548
|
});
|
|
6443
6549
|
});
|
|
6444
6550
|
};
|
|
6445
|
-
OnFirstShowAdapter.prototype.hideLayer = function () {
|
|
6446
|
-
this.options.visibility = false;
|
|
6447
|
-
if (this.layer) {
|
|
6448
|
-
this.layer.forEach(function (x) { return webMap.hideLayer(x); });
|
|
6449
|
-
}
|
|
6450
|
-
};
|
|
6451
6551
|
return OnFirstShowAdapter;
|
|
6452
6552
|
}());
|
|
6453
6553
|
return [2 /*return*/, OnFirstShowAdapter];
|
|
@@ -6728,6 +6828,8 @@ var NgwMap = (function (exports) {
|
|
|
6728
6828
|
options.order = _this.options.order;
|
|
6729
6829
|
options.ratio = _this.options.ratio;
|
|
6730
6830
|
options.crossOrigin = _this.options.crossOrigin;
|
|
6831
|
+
options.minZoom = _this.options.minZoom;
|
|
6832
|
+
options.maxZoom = _this.options.maxZoom;
|
|
6731
6833
|
options.drawOrderEnabled = webmap_1.draw_order_enabled;
|
|
6732
6834
|
var layer = new _this.NgwWebmapItem(_this.options.webMap, webmap_1.root_item, options, _this.options.connector);
|
|
6733
6835
|
layer.emitter.on('init', function () { return resolve(layer); });
|
|
@@ -8477,5 +8579,5 @@ var NgwMap = (function (exports) {
|
|
|
8477
8579
|
|
|
8478
8580
|
return exports;
|
|
8479
8581
|
|
|
8480
|
-
}({})
|
|
8582
|
+
})({});
|
|
8481
8583
|
//# sourceMappingURL=ngw-map.global.js.map
|