@nextgis/ngw-map 1.11.10 → 1.12.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 +547 -371
- 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 +4285 -3310
- package/lib/ngw-map.esm-browser.js.map +1 -1
- package/lib/ngw-map.esm-browser.prod.js +15 -1
- package/lib/ngw-map.esm-browser.prod.js.map +1 -1
- package/lib/ngw-map.esm-bundler.js +548 -372
- package/lib/ngw-map.esm-bundler.js.map +1 -1
- package/lib/ngw-map.esm-bundler.prod.js +15 -1
- package/lib/ngw-map.esm-bundler.prod.js.map +1 -1
- package/lib/ngw-map.global.js +110 -66
- 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.12.0; author: NextGIS */
|
|
2
2
|
var NgwMap = (function (exports) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
@@ -2681,6 +2681,9 @@ var NgwMap = (function (exports) {
|
|
|
2681
2681
|
_c.sent();
|
|
2682
2682
|
_c.label = 11;
|
|
2683
2683
|
case 11:
|
|
2684
|
+
if (options.onAdded) {
|
|
2685
|
+
options.onAdded(_adapter);
|
|
2686
|
+
}
|
|
2684
2687
|
this._emitLayerEvent('layer:add', layerId, _adapter);
|
|
2685
2688
|
return [2 /*return*/, _adapter];
|
|
2686
2689
|
case 12: return [2 /*return*/, Promise.reject('No adapter')];
|
|
@@ -2821,8 +2824,15 @@ var NgwMap = (function (exports) {
|
|
|
2821
2824
|
WebMapLayers.prototype.addTileLayer = function (url, options) {
|
|
2822
2825
|
return this.addLayer('TILE', __assign(__assign({}, options), { url: url }));
|
|
2823
2826
|
};
|
|
2824
|
-
|
|
2825
|
-
|
|
2827
|
+
WebMapLayers.prototype.addImageLayer = function (urlOrOptions, options) {
|
|
2828
|
+
var url;
|
|
2829
|
+
if (typeof urlOrOptions === 'string') {
|
|
2830
|
+
url = urlOrOptions;
|
|
2831
|
+
}
|
|
2832
|
+
else {
|
|
2833
|
+
url = urlOrOptions.url;
|
|
2834
|
+
options = urlOrOptions;
|
|
2835
|
+
}
|
|
2826
2836
|
return this.addLayer('IMAGE', __assign(__assign({}, options), { url: url }));
|
|
2827
2837
|
};
|
|
2828
2838
|
/**
|
|
@@ -5167,10 +5177,10 @@ var NgwMap = (function (exports) {
|
|
|
5167
5177
|
function createGeoJsonFeature(item) {
|
|
5168
5178
|
var geometry = item.geom;
|
|
5169
5179
|
var feature = {
|
|
5180
|
+
geometry: geometry,
|
|
5170
5181
|
id: item.id,
|
|
5171
5182
|
type: 'Feature',
|
|
5172
5183
|
properties: item.fields,
|
|
5173
|
-
geometry: geometry,
|
|
5174
5184
|
};
|
|
5175
5185
|
return feature;
|
|
5176
5186
|
}
|
|
@@ -5196,7 +5206,19 @@ var NgwMap = (function (exports) {
|
|
|
5196
5206
|
function createFeatureFieldFilterQueries(opt) {
|
|
5197
5207
|
var queries = getQueries(opt);
|
|
5198
5208
|
return CancelablePromise.all(queries).then(function (itemsParts) {
|
|
5199
|
-
|
|
5209
|
+
// this list of ids used for optimization
|
|
5210
|
+
var ids = [];
|
|
5211
|
+
var items = [];
|
|
5212
|
+
for (var _i = 0, itemsParts_1 = itemsParts; _i < itemsParts_1.length; _i++) {
|
|
5213
|
+
var part = itemsParts_1[_i];
|
|
5214
|
+
for (var _a = 0, part_1 = part; _a < part_1.length; _a++) {
|
|
5215
|
+
var item = part_1[_a];
|
|
5216
|
+
if (!ids.includes(item.id)) {
|
|
5217
|
+
items.push(item);
|
|
5218
|
+
ids.push(item.id);
|
|
5219
|
+
}
|
|
5220
|
+
}
|
|
5221
|
+
}
|
|
5200
5222
|
var offset = opt.offset !== undefined ? opt.offset : 0;
|
|
5201
5223
|
var limit = opt.limit !== undefined ? opt.limit : items.length;
|
|
5202
5224
|
if (opt.offset || opt.limit) {
|
|
@@ -5205,27 +5227,27 @@ var NgwMap = (function (exports) {
|
|
|
5205
5227
|
return items;
|
|
5206
5228
|
});
|
|
5207
5229
|
}
|
|
5230
|
+
function createParam(pf) {
|
|
5231
|
+
var field = pf[0], operation = pf[1], value = pf[2];
|
|
5232
|
+
var isFldStr = field !== 'id' ? 'fld_' : '';
|
|
5233
|
+
var vStart = '';
|
|
5234
|
+
var vEnd = '';
|
|
5235
|
+
var field_ = String(field)
|
|
5236
|
+
.trim()
|
|
5237
|
+
.replace(/^(%?)(.+?)(%?)$/, function (m, a, b, c) {
|
|
5238
|
+
vStart = a;
|
|
5239
|
+
vEnd = c;
|
|
5240
|
+
return b;
|
|
5241
|
+
});
|
|
5242
|
+
var v = vStart + value + vEnd;
|
|
5243
|
+
return ["".concat(isFldStr).concat(field_, "__").concat(operation), v];
|
|
5244
|
+
}
|
|
5208
5245
|
function getQueries(opt, _queries, _parentAllParams) {
|
|
5209
5246
|
if (_queries === void 0) { _queries = []; }
|
|
5210
5247
|
if (_parentAllParams === void 0) { _parentAllParams = []; }
|
|
5211
5248
|
var filters = opt.filters;
|
|
5212
5249
|
var logic = typeof filters[0] === 'string' ? filters[0] : 'all';
|
|
5213
5250
|
var filters_ = filters.filter(function (x) { return Array.isArray(x); });
|
|
5214
|
-
var createParam = function (pf) {
|
|
5215
|
-
var field = pf[0], operation = pf[1], value = pf[2];
|
|
5216
|
-
var isFldStr = field !== 'id' ? 'fld_' : '';
|
|
5217
|
-
var vStart = '';
|
|
5218
|
-
var vEnd = '';
|
|
5219
|
-
var field_ = String(field)
|
|
5220
|
-
.trim()
|
|
5221
|
-
.replace(/^(%?)(.+?)(%?)$/, function (m, a, b, c) {
|
|
5222
|
-
vStart = a;
|
|
5223
|
-
vEnd = c;
|
|
5224
|
-
return b;
|
|
5225
|
-
});
|
|
5226
|
-
var v = vStart + value + vEnd;
|
|
5227
|
-
return ["".concat(isFldStr).concat(field_, "__").concat(operation), v];
|
|
5228
|
-
};
|
|
5229
5251
|
if (logic === 'any') {
|
|
5230
5252
|
for (var _i = 0, filters_1 = filters_; _i < filters_1.length; _i++) {
|
|
5231
5253
|
var f = filters_1[_i];
|
|
@@ -5271,7 +5293,7 @@ var NgwMap = (function (exports) {
|
|
|
5271
5293
|
}
|
|
5272
5294
|
function fetchNgwLayerItemsRequest(options) {
|
|
5273
5295
|
var params = __assign({}, FEATURE_REQUEST_PARAMS);
|
|
5274
|
-
var
|
|
5296
|
+
var limit = options.limit, offset = options.offset, orderBy = options.orderBy, paramList = options.paramList, connector = options.connector, intersects = options.intersects, resourceId = options.resourceId;
|
|
5275
5297
|
if (limit) {
|
|
5276
5298
|
if (limit !== Number.POSITIVE_INFINITY) {
|
|
5277
5299
|
params.limit = limit;
|
|
@@ -5284,7 +5306,6 @@ var NgwMap = (function (exports) {
|
|
|
5284
5306
|
if (offset) {
|
|
5285
5307
|
params.offset = offset;
|
|
5286
5308
|
}
|
|
5287
|
-
// TODO: fix type for options
|
|
5288
5309
|
updateItemRequestParam(params, options);
|
|
5289
5310
|
if (orderBy) {
|
|
5290
5311
|
params.order_by = orderBy.join(',');
|
|
@@ -5704,6 +5725,26 @@ var NgwMap = (function (exports) {
|
|
|
5704
5725
|
});
|
|
5705
5726
|
}
|
|
5706
5727
|
|
|
5728
|
+
function getImageAdapterOptions(_a) {
|
|
5729
|
+
var resourceId = _a.resourceId, baseUrl = _a.baseUrl, nd = _a.nd, headers = _a.headers;
|
|
5730
|
+
var url = baseUrl + '/api/component/render/image';
|
|
5731
|
+
var params = { resource: resourceId };
|
|
5732
|
+
if (nd) {
|
|
5733
|
+
params.nd = nd;
|
|
5734
|
+
}
|
|
5735
|
+
return {
|
|
5736
|
+
url: url,
|
|
5737
|
+
resourceId: resourceId,
|
|
5738
|
+
headers: headers,
|
|
5739
|
+
params: params,
|
|
5740
|
+
updateWmsParams: function (params_) {
|
|
5741
|
+
if (nd) {
|
|
5742
|
+
params_.nd = nd;
|
|
5743
|
+
}
|
|
5744
|
+
return updateImageParams(params_, resourceId);
|
|
5745
|
+
},
|
|
5746
|
+
};
|
|
5747
|
+
}
|
|
5707
5748
|
function ngwApiToAdapterOptions(_a) {
|
|
5708
5749
|
var options = _a.options, webMap = _a.webMap, baseUrl = _a.baseUrl;
|
|
5709
5750
|
var adapter = options.adapter || 'IMAGE';
|
|
@@ -5715,16 +5756,12 @@ var NgwMap = (function (exports) {
|
|
|
5715
5756
|
if (typeof resourceId === 'number') {
|
|
5716
5757
|
if (adapter === 'IMAGE') {
|
|
5717
5758
|
if (isImageAllowed) {
|
|
5718
|
-
|
|
5719
|
-
return {
|
|
5720
|
-
url: url,
|
|
5759
|
+
return getImageAdapterOptions({
|
|
5721
5760
|
resourceId: resourceId,
|
|
5722
5761
|
headers: options.headers,
|
|
5723
|
-
|
|
5724
|
-
|
|
5725
|
-
|
|
5726
|
-
},
|
|
5727
|
-
};
|
|
5762
|
+
nd: nd,
|
|
5763
|
+
baseUrl: baseUrl,
|
|
5764
|
+
});
|
|
5728
5765
|
}
|
|
5729
5766
|
else {
|
|
5730
5767
|
adapter = 'TILE';
|
|
@@ -7139,6 +7176,7 @@ var NgwMap = (function (exports) {
|
|
|
7139
7176
|
NgwWebmapLayerAdapter.prototype._setBasemaps = function (baseWebmap) {
|
|
7140
7177
|
var _this = this;
|
|
7141
7178
|
var webMap = this.options.webMap;
|
|
7179
|
+
// to avoid set many basemaps on init
|
|
7142
7180
|
var enabledAlreadySet = false;
|
|
7143
7181
|
var _loop_1 = function (x) {
|
|
7144
7182
|
createOnFirstShowNgwAdapter({
|
|
@@ -7147,9 +7185,11 @@ var NgwMap = (function (exports) {
|
|
|
7147
7185
|
item: x,
|
|
7148
7186
|
adapterOptions: { crossOrigin: this_1.options.crossOrigin },
|
|
7149
7187
|
}).then(function (adapter) {
|
|
7150
|
-
// to avoid set many basemaps on init
|
|
7151
7188
|
var visibility = enabledAlreadySet ? false : x.enabled;
|
|
7152
|
-
|
|
7189
|
+
if (x.enabled) {
|
|
7190
|
+
enabledAlreadySet = true;
|
|
7191
|
+
}
|
|
7192
|
+
return webMap
|
|
7153
7193
|
.addBaseLayer(adapter, {
|
|
7154
7194
|
id: WEBMAP_BASELAYER_ID_PREFIX + x.resource_id,
|
|
7155
7195
|
name: x.display_name,
|
|
@@ -7159,9 +7199,6 @@ var NgwMap = (function (exports) {
|
|
|
7159
7199
|
.then(function (l) {
|
|
7160
7200
|
l.id && _this._webmapBaselayersIds.push(l.id);
|
|
7161
7201
|
});
|
|
7162
|
-
if (x.enabled) {
|
|
7163
|
-
enabledAlreadySet = true;
|
|
7164
|
-
}
|
|
7165
7202
|
});
|
|
7166
7203
|
};
|
|
7167
7204
|
var this_1 = this;
|
|
@@ -7643,7 +7680,7 @@ var NgwMap = (function (exports) {
|
|
|
7643
7680
|
function updateImageParams(params, resourceId) {
|
|
7644
7681
|
var bbox = params.bbox, width = params.width, height = params.height, nd = params.nd;
|
|
7645
7682
|
return {
|
|
7646
|
-
resource: resourceId,
|
|
7683
|
+
resource: Array.isArray(resourceId) ? resourceId.join(',') : resourceId,
|
|
7647
7684
|
extent: bbox,
|
|
7648
7685
|
size: width + ',' + height,
|
|
7649
7686
|
timestamp: Date.now(),
|
|
@@ -7951,38 +7988,45 @@ var NgwMap = (function (exports) {
|
|
|
7951
7988
|
}
|
|
7952
7989
|
return CancelablePromise.resolve(undefined);
|
|
7953
7990
|
}
|
|
7991
|
+
function featureLayerIdentify(options) {
|
|
7992
|
+
var g = options.geom;
|
|
7993
|
+
var geom = [];
|
|
7994
|
+
if (Array.isArray(g)) {
|
|
7995
|
+
geom = g;
|
|
7996
|
+
}
|
|
7997
|
+
else {
|
|
7998
|
+
var polygon = g.type === 'Feature' ? g.geometry : g.type === 'Polygon' ? g : false;
|
|
7999
|
+
if (polygon) {
|
|
8000
|
+
geom = polygon.coordinates[0];
|
|
8001
|
+
}
|
|
8002
|
+
}
|
|
8003
|
+
if (geom) {
|
|
8004
|
+
// create wkt string
|
|
8005
|
+
var polygonStr = [];
|
|
8006
|
+
for (var _i = 0, geom_1 = geom; _i < geom_1.length; _i++) {
|
|
8007
|
+
var _a = geom_1[_i], lng = _a[0], lat = _a[1];
|
|
8008
|
+
var _b = degrees2meters(lng, lat), x = _b[0], y = _b[1];
|
|
8009
|
+
polygonStr.push(x + ' ' + y);
|
|
8010
|
+
}
|
|
8011
|
+
var wkt = "POLYGON((".concat(polygonStr.join(', '), "))");
|
|
8012
|
+
var layers = options.layers;
|
|
8013
|
+
var data = {
|
|
8014
|
+
geom: wkt,
|
|
8015
|
+
srs: 3857,
|
|
8016
|
+
layers: layers,
|
|
8017
|
+
};
|
|
8018
|
+
return options.connector.post('feature_layer.identify', { data: data });
|
|
8019
|
+
}
|
|
8020
|
+
else {
|
|
8021
|
+
throw new Error('Not valid geometry format to make intersection');
|
|
8022
|
+
}
|
|
8023
|
+
}
|
|
7954
8024
|
function sendIdentifyRequest(ev, options) {
|
|
8025
|
+
var _a;
|
|
7955
8026
|
deprecatedMapClick(ev);
|
|
7956
|
-
var
|
|
7957
|
-
var geom =
|
|
7958
|
-
|
|
7959
|
-
var polygon_1 = options.geom.type === 'Feature'
|
|
7960
|
-
? options.geom.geometry
|
|
7961
|
-
: options.geom.type === 'Polygon'
|
|
7962
|
-
? options.geom
|
|
7963
|
-
: false;
|
|
7964
|
-
if (polygon_1) {
|
|
7965
|
-
geom = polygon_1.coordinates[0];
|
|
7966
|
-
}
|
|
7967
|
-
}
|
|
7968
|
-
if (!geom.length) {
|
|
7969
|
-
geom = getCirclePolygonCoordinates(lng, lat, options.radius);
|
|
7970
|
-
}
|
|
7971
|
-
// create wkt string
|
|
7972
|
-
var polygon = [];
|
|
7973
|
-
geom.forEach(function (_a) {
|
|
7974
|
-
var lng = _a[0], lat = _a[1];
|
|
7975
|
-
var _b = degrees2meters(lng, lat), x = _b[0], y = _b[1];
|
|
7976
|
-
polygon.push(x + ' ' + y);
|
|
7977
|
-
});
|
|
7978
|
-
var wkt = "POLYGON((".concat(polygon.join(', '), "))");
|
|
7979
|
-
var layers = options.layers;
|
|
7980
|
-
var data = {
|
|
7981
|
-
geom: wkt,
|
|
7982
|
-
srs: 3857,
|
|
7983
|
-
layers: layers,
|
|
7984
|
-
};
|
|
7985
|
-
return options.connector.post('feature_layer.identify', { data: data });
|
|
8027
|
+
var _b = ev.lngLat, lng = _b[0], lat = _b[1];
|
|
8028
|
+
var geom = (_a = options.geom) !== null && _a !== void 0 ? _a : getCirclePolygonCoordinates(lng, lat, options.radius);
|
|
8029
|
+
return featureLayerIdentify(__assign(__assign({}, options), { geom: geom }));
|
|
7986
8030
|
}
|
|
7987
8031
|
function createIdentifyItem(opt) {
|
|
7988
8032
|
return new IdentifyItem(opt);
|