@nextgis/ngw-map 1.11.9 → 1.12.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/README.md +3 -1
- 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 +4390 -3351
- 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 +202 -94
- 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.1; author: NextGIS */
|
|
2
2
|
var NgwMap = (function (exports) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
@@ -1308,6 +1308,9 @@ var NgwMap = (function (exports) {
|
|
|
1308
1308
|
|
|
1309
1309
|
function isObject$1(val) {
|
|
1310
1310
|
return Object.prototype.toString.call(val) === '[object Object]';
|
|
1311
|
+
}
|
|
1312
|
+
function isArray(val) {
|
|
1313
|
+
return Object.prototype.toString.call(val) === '[object Array]';
|
|
1311
1314
|
}
|
|
1312
1315
|
|
|
1313
1316
|
function fixUrlStr(url) {
|
|
@@ -2371,6 +2374,9 @@ var NgwMap = (function (exports) {
|
|
|
2371
2374
|
'movestart',
|
|
2372
2375
|
'move',
|
|
2373
2376
|
'moveend',
|
|
2377
|
+
'mousemove',
|
|
2378
|
+
'mouseout',
|
|
2379
|
+
'mouseover',
|
|
2374
2380
|
];
|
|
2375
2381
|
if (opt && opt.include) {
|
|
2376
2382
|
events = events.filter(function (x) { return opt.include.includes(x); });
|
|
@@ -2681,6 +2687,9 @@ var NgwMap = (function (exports) {
|
|
|
2681
2687
|
_c.sent();
|
|
2682
2688
|
_c.label = 11;
|
|
2683
2689
|
case 11:
|
|
2690
|
+
if (options.onAdded) {
|
|
2691
|
+
options.onAdded(_adapter);
|
|
2692
|
+
}
|
|
2684
2693
|
this._emitLayerEvent('layer:add', layerId, _adapter);
|
|
2685
2694
|
return [2 /*return*/, _adapter];
|
|
2686
2695
|
case 12: return [2 /*return*/, Promise.reject('No adapter')];
|
|
@@ -2821,8 +2830,15 @@ var NgwMap = (function (exports) {
|
|
|
2821
2830
|
WebMapLayers.prototype.addTileLayer = function (url, options) {
|
|
2822
2831
|
return this.addLayer('TILE', __assign(__assign({}, options), { url: url }));
|
|
2823
2832
|
};
|
|
2824
|
-
|
|
2825
|
-
|
|
2833
|
+
WebMapLayers.prototype.addImageLayer = function (urlOrOptions, options) {
|
|
2834
|
+
var url;
|
|
2835
|
+
if (typeof urlOrOptions === 'string') {
|
|
2836
|
+
url = urlOrOptions;
|
|
2837
|
+
}
|
|
2838
|
+
else {
|
|
2839
|
+
url = urlOrOptions.url;
|
|
2840
|
+
options = urlOrOptions;
|
|
2841
|
+
}
|
|
2826
2842
|
return this.addLayer('IMAGE', __assign(__assign({}, options), { url: url }));
|
|
2827
2843
|
};
|
|
2828
2844
|
/**
|
|
@@ -4168,6 +4184,11 @@ var NgwMap = (function (exports) {
|
|
|
4168
4184
|
xhr.abort();
|
|
4169
4185
|
});
|
|
4170
4186
|
}
|
|
4187
|
+
if (options.signal) {
|
|
4188
|
+
options.signal.addEventListener('abort', function () {
|
|
4189
|
+
xhr.abort();
|
|
4190
|
+
});
|
|
4191
|
+
}
|
|
4171
4192
|
xhr.send(data);
|
|
4172
4193
|
};
|
|
4173
4194
|
}
|
|
@@ -4309,7 +4330,12 @@ var NgwMap = (function (exports) {
|
|
|
4309
4330
|
forCache.id = resource;
|
|
4310
4331
|
}
|
|
4311
4332
|
else if (isObject(resource)) {
|
|
4312
|
-
|
|
4333
|
+
if (resource.id !== undefined) {
|
|
4334
|
+
forCache.id = resource.id;
|
|
4335
|
+
}
|
|
4336
|
+
else if (resource.keyname) {
|
|
4337
|
+
forCache.keyname = resource.keyname;
|
|
4338
|
+
}
|
|
4313
4339
|
}
|
|
4314
4340
|
var makeRequest = function () {
|
|
4315
4341
|
if (typeof resource === 'string') {
|
|
@@ -4411,20 +4437,35 @@ var NgwMap = (function (exports) {
|
|
|
4411
4437
|
};
|
|
4412
4438
|
ResourcesControl.prototype.getChildrenOf = function (resource, requestOptions) {
|
|
4413
4439
|
var _this = this;
|
|
4414
|
-
return this.
|
|
4415
|
-
return _this.
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4440
|
+
return this.getIdOrFail(resource).then(function (parent) {
|
|
4441
|
+
return _this._getChildrenOf(parent, requestOptions);
|
|
4442
|
+
});
|
|
4443
|
+
};
|
|
4444
|
+
ResourcesControl.prototype._getChildrenOf = function (parent, requestOptions, _items) {
|
|
4445
|
+
var _this = this;
|
|
4446
|
+
if (_items === void 0) { _items = []; }
|
|
4447
|
+
return this.connector
|
|
4448
|
+
.get('resource.collection', __assign({ cache: true }, requestOptions), {
|
|
4449
|
+
parent: parent,
|
|
4450
|
+
})
|
|
4451
|
+
.then(function (items) {
|
|
4452
|
+
var recursivePromises = [];
|
|
4453
|
+
for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
|
|
4454
|
+
var item = items_1[_i];
|
|
4455
|
+
_this.cache.add('resource.item', CancelablePromise.resolve(item), {
|
|
4456
|
+
id: item.resource.id,
|
|
4457
|
+
});
|
|
4458
|
+
_items.push(item);
|
|
4459
|
+
if ((requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.recursive) && item.resource.children) {
|
|
4460
|
+
recursivePromises.push(_this._getChildrenOf(item.resource.id, requestOptions, _items));
|
|
4425
4461
|
}
|
|
4426
|
-
|
|
4427
|
-
|
|
4462
|
+
}
|
|
4463
|
+
if (recursivePromises.length) {
|
|
4464
|
+
return CancelablePromise.all(recursivePromises).then(function () {
|
|
4465
|
+
return _items;
|
|
4466
|
+
});
|
|
4467
|
+
}
|
|
4468
|
+
return _items;
|
|
4428
4469
|
});
|
|
4429
4470
|
};
|
|
4430
4471
|
ResourcesControl.prototype.update = function (resource, data) {
|
|
@@ -5167,10 +5208,10 @@ var NgwMap = (function (exports) {
|
|
|
5167
5208
|
function createGeoJsonFeature(item) {
|
|
5168
5209
|
var geometry = item.geom;
|
|
5169
5210
|
var feature = {
|
|
5211
|
+
geometry: geometry,
|
|
5170
5212
|
id: item.id,
|
|
5171
5213
|
type: 'Feature',
|
|
5172
5214
|
properties: item.fields,
|
|
5173
|
-
geometry: geometry,
|
|
5174
5215
|
};
|
|
5175
5216
|
return feature;
|
|
5176
5217
|
}
|
|
@@ -5196,7 +5237,19 @@ var NgwMap = (function (exports) {
|
|
|
5196
5237
|
function createFeatureFieldFilterQueries(opt) {
|
|
5197
5238
|
var queries = getQueries(opt);
|
|
5198
5239
|
return CancelablePromise.all(queries).then(function (itemsParts) {
|
|
5199
|
-
|
|
5240
|
+
// this list of ids used for optimization
|
|
5241
|
+
var ids = [];
|
|
5242
|
+
var items = [];
|
|
5243
|
+
for (var _i = 0, itemsParts_1 = itemsParts; _i < itemsParts_1.length; _i++) {
|
|
5244
|
+
var part = itemsParts_1[_i];
|
|
5245
|
+
for (var _a = 0, part_1 = part; _a < part_1.length; _a++) {
|
|
5246
|
+
var item = part_1[_a];
|
|
5247
|
+
if (!ids.includes(item.id)) {
|
|
5248
|
+
items.push(item);
|
|
5249
|
+
ids.push(item.id);
|
|
5250
|
+
}
|
|
5251
|
+
}
|
|
5252
|
+
}
|
|
5200
5253
|
var offset = opt.offset !== undefined ? opt.offset : 0;
|
|
5201
5254
|
var limit = opt.limit !== undefined ? opt.limit : items.length;
|
|
5202
5255
|
if (opt.offset || opt.limit) {
|
|
@@ -5205,27 +5258,27 @@ var NgwMap = (function (exports) {
|
|
|
5205
5258
|
return items;
|
|
5206
5259
|
});
|
|
5207
5260
|
}
|
|
5261
|
+
function createParam(pf) {
|
|
5262
|
+
var field = pf[0], operation = pf[1], value = pf[2];
|
|
5263
|
+
var isFldStr = field !== 'id' ? 'fld_' : '';
|
|
5264
|
+
var vStart = '';
|
|
5265
|
+
var vEnd = '';
|
|
5266
|
+
var field_ = String(field)
|
|
5267
|
+
.trim()
|
|
5268
|
+
.replace(/^(%?)(.+?)(%?)$/, function (m, a, b, c) {
|
|
5269
|
+
vStart = a;
|
|
5270
|
+
vEnd = c;
|
|
5271
|
+
return b;
|
|
5272
|
+
});
|
|
5273
|
+
var v = vStart + value + vEnd;
|
|
5274
|
+
return ["".concat(isFldStr).concat(field_, "__").concat(operation), v];
|
|
5275
|
+
}
|
|
5208
5276
|
function getQueries(opt, _queries, _parentAllParams) {
|
|
5209
5277
|
if (_queries === void 0) { _queries = []; }
|
|
5210
5278
|
if (_parentAllParams === void 0) { _parentAllParams = []; }
|
|
5211
5279
|
var filters = opt.filters;
|
|
5212
5280
|
var logic = typeof filters[0] === 'string' ? filters[0] : 'all';
|
|
5213
5281
|
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
5282
|
if (logic === 'any') {
|
|
5230
5283
|
for (var _i = 0, filters_1 = filters_; _i < filters_1.length; _i++) {
|
|
5231
5284
|
var f = filters_1[_i];
|
|
@@ -5271,7 +5324,7 @@ var NgwMap = (function (exports) {
|
|
|
5271
5324
|
}
|
|
5272
5325
|
function fetchNgwLayerItemsRequest(options) {
|
|
5273
5326
|
var params = __assign({}, FEATURE_REQUEST_PARAMS);
|
|
5274
|
-
var
|
|
5327
|
+
var limit = options.limit, offset = options.offset, orderBy = options.orderBy, paramList = options.paramList, connector = options.connector, intersects = options.intersects, resourceId = options.resourceId;
|
|
5275
5328
|
if (limit) {
|
|
5276
5329
|
if (limit !== Number.POSITIVE_INFINITY) {
|
|
5277
5330
|
params.limit = limit;
|
|
@@ -5284,7 +5337,6 @@ var NgwMap = (function (exports) {
|
|
|
5284
5337
|
if (offset) {
|
|
5285
5338
|
params.offset = offset;
|
|
5286
5339
|
}
|
|
5287
|
-
// TODO: fix type for options
|
|
5288
5340
|
updateItemRequestParam(params, options);
|
|
5289
5341
|
if (orderBy) {
|
|
5290
5342
|
params.order_by = orderBy.join(',');
|
|
@@ -5306,6 +5358,7 @@ var NgwMap = (function (exports) {
|
|
|
5306
5358
|
}
|
|
5307
5359
|
|
|
5308
5360
|
function prepareNgwFieldsToPropertiesFilter(fields) {
|
|
5361
|
+
console.log(fields);
|
|
5309
5362
|
var f;
|
|
5310
5363
|
var _loop_1 = function () {
|
|
5311
5364
|
var field = fields[f];
|
|
@@ -5325,6 +5378,9 @@ var NgwMap = (function (exports) {
|
|
|
5325
5378
|
fields[f] = new (Date.bind.apply(Date, __spreadArray([void 0], dt_1, false)))().toISOString();
|
|
5326
5379
|
}
|
|
5327
5380
|
}
|
|
5381
|
+
else if (f === 'id' && typeof field === 'string') {
|
|
5382
|
+
fields[f] = field.split(',').map(Number);
|
|
5383
|
+
}
|
|
5328
5384
|
};
|
|
5329
5385
|
for (f in fields) {
|
|
5330
5386
|
_loop_1();
|
|
@@ -5336,18 +5392,37 @@ var NgwMap = (function (exports) {
|
|
|
5336
5392
|
var filters = options.filters;
|
|
5337
5393
|
if (filters) {
|
|
5338
5394
|
return createFeatureFieldFilterQueries(__assign(__assign({}, options), { filters: filters })).then(function (data) {
|
|
5395
|
+
var _a;
|
|
5396
|
+
var clientFilterValidate = (_a = options.clientFilterValidate) !== null && _a !== void 0 ? _a : isFilterWithAnyCase(filters);
|
|
5339
5397
|
// Additional client-side filter check
|
|
5340
|
-
|
|
5341
|
-
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
|
|
5398
|
+
if (clientFilterValidate) {
|
|
5399
|
+
data = data.filter(function (y) {
|
|
5400
|
+
var fields = prepareNgwFieldsToPropertiesFilter(__assign(__assign({}, y.fields), { id: y.id }));
|
|
5401
|
+
var result = propertiesFilter(fields, filters);
|
|
5402
|
+
return result;
|
|
5403
|
+
});
|
|
5404
|
+
}
|
|
5345
5405
|
return data;
|
|
5346
5406
|
});
|
|
5347
5407
|
}
|
|
5348
5408
|
else {
|
|
5349
5409
|
return fetchNgwLayerItemsRequest(options);
|
|
5350
5410
|
}
|
|
5411
|
+
}
|
|
5412
|
+
function isFilterWithAnyCase(filters) {
|
|
5413
|
+
if (filters[0] === 'any') {
|
|
5414
|
+
return true;
|
|
5415
|
+
}
|
|
5416
|
+
for (var i = 1; i < filters.length; i++) {
|
|
5417
|
+
var p = filters[i];
|
|
5418
|
+
if (isArray(p)) {
|
|
5419
|
+
var deep = isFilterWithAnyCase(p);
|
|
5420
|
+
if (deep) {
|
|
5421
|
+
return true;
|
|
5422
|
+
}
|
|
5423
|
+
}
|
|
5424
|
+
}
|
|
5425
|
+
return false;
|
|
5351
5426
|
}
|
|
5352
5427
|
|
|
5353
5428
|
function fetchNgwLayerFeatures(options) {
|
|
@@ -5700,6 +5775,26 @@ var NgwMap = (function (exports) {
|
|
|
5700
5775
|
});
|
|
5701
5776
|
}
|
|
5702
5777
|
|
|
5778
|
+
function getImageAdapterOptions(_a) {
|
|
5779
|
+
var resourceId = _a.resourceId, baseUrl = _a.baseUrl, nd = _a.nd, headers = _a.headers;
|
|
5780
|
+
var url = baseUrl + '/api/component/render/image';
|
|
5781
|
+
var params = { resource: resourceId };
|
|
5782
|
+
if (nd) {
|
|
5783
|
+
params.nd = nd;
|
|
5784
|
+
}
|
|
5785
|
+
return {
|
|
5786
|
+
url: url,
|
|
5787
|
+
resourceId: resourceId,
|
|
5788
|
+
headers: headers,
|
|
5789
|
+
params: params,
|
|
5790
|
+
updateWmsParams: function (params_) {
|
|
5791
|
+
if (nd) {
|
|
5792
|
+
params_.nd = nd;
|
|
5793
|
+
}
|
|
5794
|
+
return updateImageParams(params_, resourceId);
|
|
5795
|
+
},
|
|
5796
|
+
};
|
|
5797
|
+
}
|
|
5703
5798
|
function ngwApiToAdapterOptions(_a) {
|
|
5704
5799
|
var options = _a.options, webMap = _a.webMap, baseUrl = _a.baseUrl;
|
|
5705
5800
|
var adapter = options.adapter || 'IMAGE';
|
|
@@ -5711,16 +5806,12 @@ var NgwMap = (function (exports) {
|
|
|
5711
5806
|
if (typeof resourceId === 'number') {
|
|
5712
5807
|
if (adapter === 'IMAGE') {
|
|
5713
5808
|
if (isImageAllowed) {
|
|
5714
|
-
|
|
5715
|
-
return {
|
|
5716
|
-
url: url,
|
|
5809
|
+
return getImageAdapterOptions({
|
|
5717
5810
|
resourceId: resourceId,
|
|
5718
5811
|
headers: options.headers,
|
|
5719
|
-
|
|
5720
|
-
|
|
5721
|
-
|
|
5722
|
-
},
|
|
5723
|
-
};
|
|
5812
|
+
nd: nd,
|
|
5813
|
+
baseUrl: baseUrl,
|
|
5814
|
+
});
|
|
5724
5815
|
}
|
|
5725
5816
|
else {
|
|
5726
5817
|
adapter = 'TILE';
|
|
@@ -7135,6 +7226,7 @@ var NgwMap = (function (exports) {
|
|
|
7135
7226
|
NgwWebmapLayerAdapter.prototype._setBasemaps = function (baseWebmap) {
|
|
7136
7227
|
var _this = this;
|
|
7137
7228
|
var webMap = this.options.webMap;
|
|
7229
|
+
// to avoid set many basemaps on init
|
|
7138
7230
|
var enabledAlreadySet = false;
|
|
7139
7231
|
var _loop_1 = function (x) {
|
|
7140
7232
|
createOnFirstShowNgwAdapter({
|
|
@@ -7143,9 +7235,11 @@ var NgwMap = (function (exports) {
|
|
|
7143
7235
|
item: x,
|
|
7144
7236
|
adapterOptions: { crossOrigin: this_1.options.crossOrigin },
|
|
7145
7237
|
}).then(function (adapter) {
|
|
7146
|
-
// to avoid set many basemaps on init
|
|
7147
7238
|
var visibility = enabledAlreadySet ? false : x.enabled;
|
|
7148
|
-
|
|
7239
|
+
if (x.enabled) {
|
|
7240
|
+
enabledAlreadySet = true;
|
|
7241
|
+
}
|
|
7242
|
+
return webMap
|
|
7149
7243
|
.addBaseLayer(adapter, {
|
|
7150
7244
|
id: WEBMAP_BASELAYER_ID_PREFIX + x.resource_id,
|
|
7151
7245
|
name: x.display_name,
|
|
@@ -7155,9 +7249,6 @@ var NgwMap = (function (exports) {
|
|
|
7155
7249
|
.then(function (l) {
|
|
7156
7250
|
l.id && _this._webmapBaselayersIds.push(l.id);
|
|
7157
7251
|
});
|
|
7158
|
-
if (x.enabled) {
|
|
7159
|
-
enabledAlreadySet = true;
|
|
7160
|
-
}
|
|
7161
7252
|
});
|
|
7162
7253
|
};
|
|
7163
7254
|
var this_1 = this;
|
|
@@ -7639,7 +7730,7 @@ var NgwMap = (function (exports) {
|
|
|
7639
7730
|
function updateImageParams(params, resourceId) {
|
|
7640
7731
|
var bbox = params.bbox, width = params.width, height = params.height, nd = params.nd;
|
|
7641
7732
|
return {
|
|
7642
|
-
resource: resourceId,
|
|
7733
|
+
resource: Array.isArray(resourceId) ? resourceId.join(',') : resourceId,
|
|
7643
7734
|
extent: bbox,
|
|
7644
7735
|
size: width + ',' + height,
|
|
7645
7736
|
timestamp: Date.now(),
|
|
@@ -7881,7 +7972,6 @@ var NgwMap = (function (exports) {
|
|
|
7881
7972
|
|
|
7882
7973
|
function getIdentifyItems(identify, multiple) {
|
|
7883
7974
|
if (multiple === void 0) { multiple = false; }
|
|
7884
|
-
var params;
|
|
7885
7975
|
var resources = [];
|
|
7886
7976
|
var paramsList = [];
|
|
7887
7977
|
for (var l in identify) {
|
|
@@ -7902,14 +7992,9 @@ var NgwMap = (function (exports) {
|
|
|
7902
7992
|
if ('features' in identifyItem) {
|
|
7903
7993
|
var layerFeatures = identifyItem.features;
|
|
7904
7994
|
var resourceId = Number(l);
|
|
7905
|
-
var
|
|
7906
|
-
if (
|
|
7907
|
-
|
|
7908
|
-
featureId: feature.id,
|
|
7909
|
-
resourceId: resourceId,
|
|
7910
|
-
feature: feature,
|
|
7911
|
-
};
|
|
7912
|
-
paramsList.push(params);
|
|
7995
|
+
var featureParams = createParamsFromFeatures(layerFeatures, resourceId, multiple);
|
|
7996
|
+
if (featureParams.length) {
|
|
7997
|
+
paramsList.push.apply(paramsList, featureParams);
|
|
7913
7998
|
if (!multiple) {
|
|
7914
7999
|
break;
|
|
7915
8000
|
}
|
|
@@ -7918,6 +8003,22 @@ var NgwMap = (function (exports) {
|
|
|
7918
8003
|
}
|
|
7919
8004
|
return paramsList;
|
|
7920
8005
|
}
|
|
8006
|
+
function createParamsFromFeatures(features, resourceId, multiple) {
|
|
8007
|
+
var featureParams = [];
|
|
8008
|
+
for (var _i = 0, features_1 = features; _i < features_1.length; _i++) {
|
|
8009
|
+
var feature = features_1[_i];
|
|
8010
|
+
var params = {
|
|
8011
|
+
featureId: feature.id,
|
|
8012
|
+
resourceId: resourceId,
|
|
8013
|
+
feature: feature,
|
|
8014
|
+
};
|
|
8015
|
+
featureParams.push(params);
|
|
8016
|
+
if (!multiple) {
|
|
8017
|
+
break;
|
|
8018
|
+
}
|
|
8019
|
+
}
|
|
8020
|
+
return featureParams;
|
|
8021
|
+
}
|
|
7921
8022
|
function fetchIdentifyGeoJson(options) {
|
|
7922
8023
|
var connector = options.connector, identify = options.identify;
|
|
7923
8024
|
for (var l in identify) {
|
|
@@ -7947,38 +8048,45 @@ var NgwMap = (function (exports) {
|
|
|
7947
8048
|
}
|
|
7948
8049
|
return CancelablePromise.resolve(undefined);
|
|
7949
8050
|
}
|
|
8051
|
+
function featureLayerIdentify(options) {
|
|
8052
|
+
var g = options.geom;
|
|
8053
|
+
var geom = [];
|
|
8054
|
+
if (Array.isArray(g)) {
|
|
8055
|
+
geom = g;
|
|
8056
|
+
}
|
|
8057
|
+
else {
|
|
8058
|
+
var polygon = g.type === 'Feature' ? g.geometry : g.type === 'Polygon' ? g : false;
|
|
8059
|
+
if (polygon) {
|
|
8060
|
+
geom = polygon.coordinates[0];
|
|
8061
|
+
}
|
|
8062
|
+
}
|
|
8063
|
+
if (geom) {
|
|
8064
|
+
// create wkt string
|
|
8065
|
+
var polygonStr = [];
|
|
8066
|
+
for (var _i = 0, geom_1 = geom; _i < geom_1.length; _i++) {
|
|
8067
|
+
var _a = geom_1[_i], lng = _a[0], lat = _a[1];
|
|
8068
|
+
var _b = degrees2meters(lng, lat), x = _b[0], y = _b[1];
|
|
8069
|
+
polygonStr.push(x + ' ' + y);
|
|
8070
|
+
}
|
|
8071
|
+
var wkt = "POLYGON((".concat(polygonStr.join(', '), "))");
|
|
8072
|
+
var layers = options.layers;
|
|
8073
|
+
var data = {
|
|
8074
|
+
geom: wkt,
|
|
8075
|
+
srs: 3857,
|
|
8076
|
+
layers: layers,
|
|
8077
|
+
};
|
|
8078
|
+
return options.connector.post('feature_layer.identify', { data: data });
|
|
8079
|
+
}
|
|
8080
|
+
else {
|
|
8081
|
+
throw new Error('Not valid geometry format to make intersection');
|
|
8082
|
+
}
|
|
8083
|
+
}
|
|
7950
8084
|
function sendIdentifyRequest(ev, options) {
|
|
8085
|
+
var _a;
|
|
7951
8086
|
deprecatedMapClick(ev);
|
|
7952
|
-
var
|
|
7953
|
-
var geom =
|
|
7954
|
-
|
|
7955
|
-
var polygon_1 = options.geom.type === 'Feature'
|
|
7956
|
-
? options.geom.geometry
|
|
7957
|
-
: options.geom.type === 'Polygon'
|
|
7958
|
-
? options.geom
|
|
7959
|
-
: false;
|
|
7960
|
-
if (polygon_1) {
|
|
7961
|
-
geom = polygon_1.coordinates[0];
|
|
7962
|
-
}
|
|
7963
|
-
}
|
|
7964
|
-
if (!geom.length) {
|
|
7965
|
-
geom = getCirclePolygonCoordinates(lng, lat, options.radius);
|
|
7966
|
-
}
|
|
7967
|
-
// create wkt string
|
|
7968
|
-
var polygon = [];
|
|
7969
|
-
geom.forEach(function (_a) {
|
|
7970
|
-
var lng = _a[0], lat = _a[1];
|
|
7971
|
-
var _b = degrees2meters(lng, lat), x = _b[0], y = _b[1];
|
|
7972
|
-
polygon.push(x + ' ' + y);
|
|
7973
|
-
});
|
|
7974
|
-
var wkt = "POLYGON((".concat(polygon.join(', '), "))");
|
|
7975
|
-
var layers = options.layers;
|
|
7976
|
-
var data = {
|
|
7977
|
-
geom: wkt,
|
|
7978
|
-
srs: 3857,
|
|
7979
|
-
layers: layers,
|
|
7980
|
-
};
|
|
7981
|
-
return options.connector.post('feature_layer.identify', { data: data });
|
|
8087
|
+
var _b = ev.lngLat, lng = _b[0], lat = _b[1];
|
|
8088
|
+
var geom = (_a = options.geom) !== null && _a !== void 0 ? _a : getCirclePolygonCoordinates(lng, lat, options.radius);
|
|
8089
|
+
return featureLayerIdentify(__assign(__assign({}, options), { geom: geom }));
|
|
7982
8090
|
}
|
|
7983
8091
|
function createIdentifyItem(opt) {
|
|
7984
8092
|
return new IdentifyItem(opt);
|