@nextgis/ngw-map 1.16.0 → 1.16.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/index.d.ts +2 -1
- package/lib/ngw-map.cjs.js +68 -74
- 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 +79 -75
- 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 +69 -75
- package/lib/ngw-map.esm-bundler.js.map +1 -1
- package/lib/ngw-map.esm-bundler.prod.js +1 -1
- package/lib/ngw-map.esm-bundler.prod.js.map +1 -1
- package/lib/ngw-map.global.js +79 -75
- 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
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/** Bundle of @nextgis/ngw-map; version: 1.16.
|
|
1
|
+
/** Bundle of @nextgis/ngw-map; version: 1.16.1; author: NextGIS */
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
3
|
import CancelablePromise from '@nextgis/cancelable-promise';
|
|
4
|
-
import { deepmerge, isObject, defined, deprecatedWarn } from '@nextgis/utils';
|
|
4
|
+
import { deepmerge, isObject, defined, deprecatedWarn, getIdentifyRadius } from '@nextgis/utils';
|
|
5
5
|
import { WebMap } from '@nextgis/webmap';
|
|
6
6
|
export * from '@nextgis/webmap';
|
|
7
7
|
import { NgwKit, fetchNgwLayerItem, fetchNgwLayerItems, fetchNgwLayerFeature, fetchNgwLayerFeatureCollection, fetchIdentifyItem, fetchIdentifyGeoJson, getIdentifyItems, createIdentifyItem, createNgwLayerAdapter, sendIdentifyRequest, getCompanyLogo, fetchNgwResourceExtent } from '@nextgis/ngw-kit';
|
|
@@ -150,14 +150,6 @@ function prepareWebMapOptions(options) {
|
|
|
150
150
|
return options;
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
function getIdentifyRadius(center, zoom, pixelRadius) {
|
|
154
|
-
pixelRadius = pixelRadius !== null && pixelRadius !== void 0 ? pixelRadius : 10;
|
|
155
|
-
var metresPerPixel = (40075016.686 * Math.abs(Math.cos((center[1] * 180) / Math.PI))) /
|
|
156
|
-
Math.pow(2, zoom + 8);
|
|
157
|
-
var radius = pixelRadius * metresPerPixel * 0.0005;
|
|
158
|
-
return radius;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
153
|
/**
|
|
162
154
|
* Base class containing the logic of interaction WebMap with NextGIS services.
|
|
163
155
|
*
|
|
@@ -506,7 +498,7 @@ var NgwMap = /** @class */ (function (_super) {
|
|
|
506
498
|
this.$$selectFromNgwRaster = function (ev) {
|
|
507
499
|
var count = _this._getSelectListenersCount();
|
|
508
500
|
if (count) {
|
|
509
|
-
_this.
|
|
501
|
+
_this.selectFromNgwRaster(ev);
|
|
510
502
|
}
|
|
511
503
|
};
|
|
512
504
|
this.$$selectFromNgwVector = function (ev) {
|
|
@@ -578,6 +570,72 @@ var NgwMap = /** @class */ (function (_super) {
|
|
|
578
570
|
}
|
|
579
571
|
});
|
|
580
572
|
};
|
|
573
|
+
NgwMap.prototype.selectFromNgwRaster = function (ev) {
|
|
574
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
575
|
+
var promises, layers, _i, layers_1, l, layer, identFunc, getIdsPromise, getIds, ids, _a, getIds_1, x, pixelRadius, center, zoom, radius, selectPromise;
|
|
576
|
+
var _this = this;
|
|
577
|
+
return __generator(this, function (_b) {
|
|
578
|
+
switch (_b.label) {
|
|
579
|
+
case 0:
|
|
580
|
+
this._emitStatusEvent('ngw:preselect');
|
|
581
|
+
promises = [];
|
|
582
|
+
layers = Object.values(this._ngwLayers);
|
|
583
|
+
layers.sort(function (a, b) {
|
|
584
|
+
if (a.layer.order && b.layer.order) {
|
|
585
|
+
return b.layer.order - a.layer.order;
|
|
586
|
+
}
|
|
587
|
+
return 1;
|
|
588
|
+
});
|
|
589
|
+
for (_i = 0, layers_1 = layers; _i < layers_1.length; _i++) {
|
|
590
|
+
l = layers_1[_i];
|
|
591
|
+
layer = l.layer;
|
|
592
|
+
identFunc = typeof layer.getIdentificationIds === 'function'
|
|
593
|
+
? layer.getIdentificationIds
|
|
594
|
+
: false;
|
|
595
|
+
if (identFunc && layer.options.selectable && this.isLayerVisible(layer)) {
|
|
596
|
+
promises.push(identFunc.call(layer));
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
getIdsPromise = Promise.all(promises);
|
|
600
|
+
return [4 /*yield*/, getIdsPromise];
|
|
601
|
+
case 1:
|
|
602
|
+
getIds = _b.sent();
|
|
603
|
+
ids = [];
|
|
604
|
+
for (_a = 0, getIds_1 = getIds; _a < getIds_1.length; _a++) {
|
|
605
|
+
x = getIds_1[_a];
|
|
606
|
+
if (x) {
|
|
607
|
+
ids.push.apply(ids, x);
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
if (!ids.length) {
|
|
611
|
+
this._emitStatusEvent('ngw:select', null);
|
|
612
|
+
return [2 /*return*/];
|
|
613
|
+
}
|
|
614
|
+
pixelRadius = this.options.pixelRadius || 10;
|
|
615
|
+
center = this.getCenter();
|
|
616
|
+
zoom = this.getZoom();
|
|
617
|
+
zoom = zoom !== undefined ? zoom : 20;
|
|
618
|
+
if (!center || !zoom) {
|
|
619
|
+
this._emitStatusEvent('ngw:select', null);
|
|
620
|
+
return [2 /*return*/];
|
|
621
|
+
}
|
|
622
|
+
radius = getIdentifyRadius(center, zoom, pixelRadius);
|
|
623
|
+
selectPromise = sendIdentifyRequest(ev, {
|
|
624
|
+
layers: ids,
|
|
625
|
+
connector: this.connector,
|
|
626
|
+
radius: radius,
|
|
627
|
+
}).then(function (resp) {
|
|
628
|
+
var identify = __assign(__assign({}, resp), { resources: ids, sourceType: 'raster', event: ev });
|
|
629
|
+
var identifyEvent = _this._prepareToIdentify(identify);
|
|
630
|
+
_this._emitStatusEvent('ngw:select', identify);
|
|
631
|
+
return identifyEvent;
|
|
632
|
+
});
|
|
633
|
+
this._addPromise('select', selectPromise);
|
|
634
|
+
return [2 /*return*/, selectPromise];
|
|
635
|
+
}
|
|
636
|
+
});
|
|
637
|
+
});
|
|
638
|
+
};
|
|
581
639
|
NgwMap.prototype._addPromise = function (groupName, promise) {
|
|
582
640
|
var group = this._promises[groupName];
|
|
583
641
|
if (group && group.indexOf(promise) === -1) {
|
|
@@ -713,70 +771,6 @@ var NgwMap = /** @class */ (function (_super) {
|
|
|
713
771
|
}
|
|
714
772
|
}
|
|
715
773
|
};
|
|
716
|
-
NgwMap.prototype._selectFromNgwRaster = function (ev) {
|
|
717
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
718
|
-
var promises, layers, _i, layers_1, l, layer, identFunc, getIdsPromise, getIds, ids, _a, getIds_1, x, pixelRadius, center, zoom, radius, selectPromise;
|
|
719
|
-
var _this = this;
|
|
720
|
-
return __generator(this, function (_b) {
|
|
721
|
-
switch (_b.label) {
|
|
722
|
-
case 0:
|
|
723
|
-
this._emitStatusEvent('ngw:preselect');
|
|
724
|
-
promises = [];
|
|
725
|
-
layers = Object.values(this._ngwLayers);
|
|
726
|
-
layers.sort(function (a, b) {
|
|
727
|
-
if (a.layer.order && b.layer.order) {
|
|
728
|
-
return b.layer.order - a.layer.order;
|
|
729
|
-
}
|
|
730
|
-
return 1;
|
|
731
|
-
});
|
|
732
|
-
for (_i = 0, layers_1 = layers; _i < layers_1.length; _i++) {
|
|
733
|
-
l = layers_1[_i];
|
|
734
|
-
layer = l.layer;
|
|
735
|
-
identFunc = typeof layer.getIdentificationIds === 'function'
|
|
736
|
-
? layer.getIdentificationIds
|
|
737
|
-
: false;
|
|
738
|
-
if (identFunc && layer.options.selectable && this.isLayerVisible(layer)) {
|
|
739
|
-
promises.push(identFunc.call(layer));
|
|
740
|
-
}
|
|
741
|
-
}
|
|
742
|
-
getIdsPromise = Promise.all(promises);
|
|
743
|
-
return [4 /*yield*/, getIdsPromise];
|
|
744
|
-
case 1:
|
|
745
|
-
getIds = _b.sent();
|
|
746
|
-
ids = [];
|
|
747
|
-
for (_a = 0, getIds_1 = getIds; _a < getIds_1.length; _a++) {
|
|
748
|
-
x = getIds_1[_a];
|
|
749
|
-
if (x) {
|
|
750
|
-
ids.push.apply(ids, x);
|
|
751
|
-
}
|
|
752
|
-
}
|
|
753
|
-
if (!ids.length) {
|
|
754
|
-
this._emitStatusEvent('ngw:select', null);
|
|
755
|
-
return [2 /*return*/];
|
|
756
|
-
}
|
|
757
|
-
pixelRadius = this.options.pixelRadius || 10;
|
|
758
|
-
center = this.getCenter();
|
|
759
|
-
zoom = this.getZoom();
|
|
760
|
-
zoom = zoom !== undefined ? zoom : 20;
|
|
761
|
-
if (!center || !zoom) {
|
|
762
|
-
this._emitStatusEvent('ngw:select', null);
|
|
763
|
-
return [2 /*return*/];
|
|
764
|
-
}
|
|
765
|
-
radius = getIdentifyRadius(center, zoom, pixelRadius);
|
|
766
|
-
selectPromise = sendIdentifyRequest(ev, {
|
|
767
|
-
layers: ids,
|
|
768
|
-
connector: this.connector,
|
|
769
|
-
radius: radius,
|
|
770
|
-
}).then(function (resp) {
|
|
771
|
-
_this._emitStatusEvent('ngw:select', _this._prepareToIdentify(__assign(__assign({}, resp), { resources: ids, sourceType: 'raster', event: ev })));
|
|
772
|
-
return resp;
|
|
773
|
-
});
|
|
774
|
-
this._addPromise('select', selectPromise);
|
|
775
|
-
return [2 /*return*/, selectPromise];
|
|
776
|
-
}
|
|
777
|
-
});
|
|
778
|
-
});
|
|
779
|
-
};
|
|
780
774
|
NgwMap.prototype._prepareToIdentify = function (identify) {
|
|
781
775
|
var _this = this;
|
|
782
776
|
var getIdentifyItems_ = function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngw-map.esm-bundler.js","sources":["../src/utils/appendNgwResources.ts","../src/utils/prepareWebMapOptions.ts","../src/utils/getIentifyRadius.ts","../src/NgwMap.ts","../src/index.ts"],"sourcesContent":["import type { NgwLayerOptions } from '@nextgis/ngw-kit';\nimport type { NgwResourceDefinition } from '../interfaces';\n\nexport function appendNgwResources(\n options: NgwLayerOptions[],\n resource?: NgwResourceDefinition,\n defOptions?: Partial<NgwLayerOptions>,\n overwriteOptions?: Partial<NgwLayerOptions>,\n): void {\n if (typeof resource === 'number' || typeof resource === 'string') {\n resource = Number(resource);\n options.push({\n ...defOptions,\n resource,\n });\n } else if (Array.isArray(resource)) {\n const [resourceId, id] = resource;\n options.push({\n ...defOptions,\n resource: resourceId,\n id,\n ...overwriteOptions,\n });\n } else if (typeof resource === 'object') {\n options.push({ ...defOptions, ...resource, ...overwriteOptions });\n }\n}\n","import { deepmerge } from '@nextgis/utils';\nimport { StarterKit, MapOptions } from '@nextgis/webmap';\nimport NgwConnector from '@nextgis/ngw-connector';\nimport { QmsKit } from '@nextgis/qms-kit';\nimport { NgwKit } from '@nextgis/ngw-kit';\n\nimport { NgwMapOptions } from '../interfaces';\n\nexport const OPTIONS: NgwMapOptions = {\n target: 'map',\n baseUrl: '',\n whitlabel: false,\n controls: ['ZOOM', 'ATTRIBUTION'],\n controlsOptions: {\n ZOOM: { position: 'top-left' },\n ATTRIBUTION: {\n position: 'bottom-right',\n customAttribution: [\n '<a href=\"https://nextgis.com\" target=\"_blank\">©NextGIS</a>',\n ],\n },\n },\n pixelRadius: 10,\n};\n\nexport function prepareWebMapOptions(options: NgwMapOptions): MapOptions {\n const kits: StarterKit[] = [new QmsKit()];\n if (options.starterKits) {\n options.starterKits.forEach((x) => {\n kits.push(x);\n });\n }\n\n if (!options.connector) {\n options.connector = new NgwConnector({\n baseUrl: options.baseUrl || '',\n auth: options.auth,\n });\n } else if (options.connector) {\n options.baseUrl = options.connector.options.baseUrl;\n }\n options = deepmerge(OPTIONS, options);\n\n if (!options.center && !options.bounds) {\n options.bounds = [-179, -90, 180, 90];\n // options.maxBounds = options.bounds;\n }\n\n if (options.connector) {\n kits.push(\n new NgwKit({\n connector: options.connector,\n auth: options.auth,\n }),\n );\n }\n options = {\n ...options,\n starterKits: kits,\n create: false,\n };\n return options;\n}\n","import { LngLatArray } from '@nextgis/utils';\n\nexport function getIdentifyRadius(\n center: LngLatArray,\n zoom: number,\n pixelRadius: number,\n): number {\n pixelRadius = pixelRadius ?? 10;\n const metresPerPixel =\n (40075016.686 * Math.abs(Math.cos((center[1] * 180) / Math.PI))) /\n Math.pow(2, zoom + 8);\n const radius = pixelRadius * metresPerPixel * 0.0005;\n return radius;\n}\n","import StrictEventEmitter from 'strict-event-emitter-types';\nimport { EventEmitter } from 'events';\nimport CancelablePromise from '@nextgis/cancelable-promise';\nimport { defined, isObject } from '@nextgis/utils';\nimport { AdapterOptions, WebMap } from '@nextgis/webmap';\nimport NgwConnector from '@nextgis/ngw-connector';\n\nimport {\n fetchNgwLayerFeatureCollection,\n fetchNgwResourceExtent,\n createNgwLayerAdapter,\n fetchNgwLayerFeature,\n fetchIdentifyGeoJson,\n sendIdentifyRequest,\n createIdentifyItem,\n fetchNgwLayerItems,\n fetchIdentifyItem,\n fetchNgwLayerItem,\n getIdentifyItems,\n getCompanyLogo,\n} from '@nextgis/ngw-kit';\nimport { deprecatedWarn } from '@nextgis/utils';\nimport { getIcon } from '@nextgis/icons';\n\nimport { appendNgwResources } from './utils/appendNgwResources';\nimport { prepareWebMapOptions } from './utils/prepareWebMapOptions';\n\nimport type { JsonMap, FeatureProperties } from '@nextgis/utils';\nimport type {\n FeatureItem,\n LayerFeature,\n ResourceItem,\n FeatureLayersIdentify,\n FeatureLayersIdentifyItems,\n} from '@nextgis/ngw-connector';\nimport type {\n OnLayerMouseOptions,\n ControlPosition,\n MapClickEvent,\n LayerAdapter,\n WebMapEvents,\n MapControls,\n FitOptions,\n LayerDef,\n} from '@nextgis/webmap';\nimport type {\n NgwIdentify,\n NgwWebmapItem,\n ResourceAdapter,\n FetchNgwItemsOptions,\n NgwFeatureItemResponse,\n NgwFeatureRequestOptions,\n} from '@nextgis/ngw-kit';\nimport type { Geometry, Feature, FeatureCollection } from 'geojson';\nimport type { QmsAdapterOptions } from '@nextgis/qms-kit';\nimport type { NgwLayerOptions } from '@nextgis/ngw-kit';\nimport type {\n NgwIdentifyEvent,\n NgwMapOptions,\n NgwMapEvents,\n NgwLayers,\n} from './interfaces';\nimport type { FetchNgwItemOptions } from '@nextgis/ngw-kit';\nimport { getIdentifyRadius } from './utils/getIentifyRadius';\n\ntype PromiseGroup = 'select' | 'identify';\n\n/**\n * Base class containing the logic of interaction WebMap with NextGIS services.\n *\n * @example\n * ```javascript\n * import { NgwMap } from '@nextgis/ngw-map';\n * import MapAdapter from '@nextgis/leaflet-map-adapter';\n * // styles are not included in the leaflet-map-adapter\n * import 'leaflet/dist/leaflet.css';\n *\n * const ngwMap = new NgwMap({\n * mapAdapter: new MapAdapter(),\n * target: 'map',\n * qmsId: 448,\n * baseUrl: 'https://demo.nextgis.com',\n * webmapId: 3985\n * });\n * ```\n */\nexport class NgwMap<\n M = unknown,\n L = unknown,\n C = unknown,\n O extends NgwMapOptions<M, C> = NgwMapOptions<M, C>,\n> extends WebMap<M, L, C, NgwMapEvents, O> {\n static getIcon = getIcon;\n\n readonly emitter: StrictEventEmitter<EventEmitter, NgwMapEvents> =\n new EventEmitter();\n connector!: NgwConnector;\n\n protected _ngwLayers: NgwLayers = {};\n private $$selectFromNgwRaster?: (ev: MapClickEvent) => void;\n private $$selectFromNgwVector?: (ev: OnLayerMouseOptions) => void;\n private _promises: Record<PromiseGroup, CancelablePromise[]> = {\n select: [],\n identify: [],\n };\n\n constructor(options: O) {\n super(prepareWebMapOptions(options) as O);\n if (options.connector) {\n this.connector = options.connector;\n }\n this._createWebMap().then(() => {\n const container = this.getContainer();\n if (container) {\n container.classList.add('ngw-map-container');\n }\n if (this.options.whitlabel) {\n this._whiteLabel();\n }\n });\n }\n\n /**\n * Organized addition to the map design and controls elements,\n * calling `control.onAdd(this.webMap.mapAdapter)`\n * @param control - object with onAdd and onRemove methods\n * or a string value indicating the name of the control installed in the map adapter\n * @param position - position relative to the map angles\n * @param options - initialization parameters if the control is set as a string value\n *\n * @example\n * ```javascript\n * ngwMap.addControl(new CustomControl(), 'bottom-left');\n * ngwMap.addControl('ZOOM', 'top-right')\n * ```\n */\n async addControl<K extends keyof MapControls>(\n controlDef: K | C,\n position: ControlPosition,\n options?: MapControls[K],\n ): Promise<any> {\n await this.onLoad('controls:create');\n return super.addControl(controlDef, position, options);\n }\n\n /**\n * Add any (style, vector, webmap) NGW layer by resource definition.\n * @param options - set layer identification parameters and render method.\n *\n * @example\n * ```javascript\n * // Add raster layer resourceId is the style of 4004 layer\n * ngwMap.addNgwLayer({ resource: 4005 });\n * // Add vector data from layer GEOJSON source\n * ngwMap.addNgwLayer({\n * resource: 4038,\n * adapter: 'GEOJSON',\n * adapterOptions: { paint: { color: 'red' } }\n * });\n * ```\n */\n async addNgwLayer(\n options: NgwLayerOptions,\n ): Promise<ResourceAdapter | undefined> {\n await this.onMapLoad();\n // @ts-ignore for backward compatibility\n const { keyname, resourceId } = options;\n\n if (keyname || resourceId !== undefined) {\n deprecatedWarn(\n 'set `resource` options instead of `keyname` or `resourceId`',\n );\n }\n\n const resource = options.resource;\n if (!keyname && !resourceId && !resource) {\n throw new Error(\n 'resource, resourceId or keyname is required parameter to add NGW layer',\n );\n }\n if (defined(this.options.baseUrl)) {\n try {\n if (defined(this.options.setViewDelay)) {\n options.adapterOptions = options.adapterOptions || {};\n if (!defined(options.adapterOptions.setViewDelay)) {\n options.adapterOptions.setViewDelay = this.options.setViewDelay;\n }\n }\n const adapter = createNgwLayerAdapter(options, this, this.connector);\n const adapterOpts = {\n visibility: true,\n // TODO: do not merge options, use only `adapterOptions`\n ...options,\n ...options.adapterOptions,\n } as AdapterOptions;\n const layer = (await this.addLayer(\n adapter,\n adapterOpts,\n )) as ResourceAdapter<M, L, AdapterOptions>;\n const id = layer && this.getLayerId(layer);\n if (layer && id) {\n this._ngwLayers[id] = { layer, resourceId: layer.resourceId };\n layer.options.name =\n layer.options.name ||\n (layer.item && layer.item.resource.display_name);\n if (layer.options.baselayer) {\n const visibleLayerBaseLayer = this.getActiveBaseLayer();\n if (visibleLayerBaseLayer) {\n return layer;\n }\n }\n }\n return layer;\n } catch (er) {\n const resId =\n isObject(resource) && 'id' in resource\n ? resource.id\n : keyname || resourceId || resource;\n console.error(`Can't add NGW layer ${resId}.`, er);\n }\n }\n }\n\n /**\n * Pans and zooms the map to the initial position specified in the options\n */\n fit(): void {\n const { center, zoom, bounds } = this.options;\n if (center) {\n this.setCenter(center);\n if (zoom) {\n this.setZoom(zoom);\n }\n } else if (bounds) {\n this.fitBounds(bounds);\n }\n }\n\n fetchNgwLayerItem<\n G extends Geometry = Geometry,\n P extends FeatureProperties = FeatureProperties,\n >(\n options: Omit<FetchNgwItemOptions<P>, 'connector'>,\n ): CancelablePromise<FeatureItem> {\n return fetchNgwLayerItem<G, P>({\n connector: this.connector,\n ...options,\n });\n }\n\n fetchNgwLayerItems<\n F extends FeatureProperties = FeatureProperties,\n G extends Geometry = Geometry,\n >(\n options: Omit<FetchNgwItemsOptions<F>, 'connector'>,\n ): CancelablePromise<FeatureItem<F, G>[]> {\n return fetchNgwLayerItems<G, F>({\n connector: this.connector,\n ...options,\n });\n }\n\n fetchNgwLayerFeature<\n G extends Geometry = Geometry,\n P extends FeatureProperties = FeatureProperties,\n >(\n options: Omit<FetchNgwItemOptions<P>, 'connector'>,\n ): CancelablePromise<Feature<G, P>> {\n return fetchNgwLayerFeature<G, P>({\n connector: this.connector,\n ...options,\n });\n }\n\n fetchNgwLayerFeatures<\n G extends Geometry | null = Geometry,\n P extends FeatureProperties = FeatureProperties,\n >(\n options: Omit<FetchNgwItemsOptions<P>, 'connector'>,\n ): CancelablePromise<FeatureCollection<G, P>> {\n return fetchNgwLayerFeatureCollection({\n connector: this.connector,\n ...options,\n });\n }\n\n fetchIdentifyItem<\n G extends Geometry = Geometry,\n P extends FeatureProperties = FeatureProperties,\n >(\n identify: NgwIdentify,\n requestOptions?: NgwFeatureRequestOptions,\n // multiple = false\n ): CancelablePromise<NgwFeatureItemResponse<P, G> | undefined> {\n const promise = fetchIdentifyItem<G, P>({\n identify,\n connector: this.connector,\n requestOptions,\n // multiple,\n });\n\n this._addPromise('identify', promise);\n return promise;\n }\n\n fetchIdentifyGeoJson(\n identify: NgwIdentify,\n multiple = false,\n ): CancelablePromise<Feature | undefined> {\n const promise = fetchIdentifyGeoJson({\n identify,\n connector: this.connector,\n multiple,\n });\n if (promise && 'then' in promise) {\n this._addPromise('identify', promise);\n return promise;\n } else {\n return CancelablePromise.resolve(promise);\n }\n }\n\n /**\n * @deprecated use {@link fetchIdentifyGeoJson} instead\n */\n getIdentifyGeoJson(\n identify: NgwIdentify,\n multiple = false,\n ): CancelablePromise<Feature | undefined> {\n return this.fetchIdentifyGeoJson(identify, multiple);\n }\n\n async getNgwLayers(): Promise<NgwLayers> {\n await this.onLoad();\n return this._ngwLayers;\n }\n\n async getNgwLayerByResourceId(id: number): Promise<LayerAdapter | undefined> {\n for (const n in this._ngwLayers) {\n const mem = this._ngwLayers[n];\n if (mem.resourceId === id) {\n return mem && mem.layer;\n } else if (mem.layer.getIdentificationIds) {\n const ids = await mem.layer.getIdentificationIds();\n if (ids && ids.some((x) => x === id)) {\n return mem.layer;\n }\n }\n if (mem.layer.getDependLayers) {\n const dependLayers = mem.layer.getDependLayers() as NgwWebmapItem[];\n const dependFit = dependLayers.find((x) => {\n return x.item && x.item.parentId === id;\n });\n if (dependFit) {\n return dependFit.layer;\n }\n }\n }\n }\n\n /**\n * Move map to layer. If the layer is NGW resource, extent will be received from the server\n *\n * @example\n * ```javascript\n * const ngwLayer = ngwMap.addNgwLayer({ id: 'ngw_layer_name', resource: 4005 });\n * ngwMap.fitLayer(ngwLayer);\n * ngwMap.fitLayer('ngw_layer_name');\n * ```\n */\n async fitLayer(layerDef: LayerDef, options?: FitOptions): Promise<void> {\n let id: string | undefined;\n if (typeof layerDef === 'string' || typeof layerDef === 'number') {\n id = String(id);\n } else {\n id = layerDef.id;\n }\n const ngwLayer = id && this._ngwLayers[id];\n if (ngwLayer) {\n if (ngwLayer.layer.getBounds) {\n const bounds = await ngwLayer.layer.getBounds();\n if (bounds) {\n this.fitBounds(bounds, options);\n }\n } else {\n let item: ResourceItem | undefined;\n if (ngwLayer.layer.item) {\n item = ngwLayer.layer.item;\n } else {\n const resourceId = ngwLayer.resourceId;\n item = await this.connector.getResource(resourceId);\n }\n if (item) {\n fetchNgwResourceExtent(item, this.connector).then((extent) => {\n if (extent) {\n this.fitBounds(extent, options);\n }\n });\n }\n }\n } else {\n super.fitLayer(layerDef, options);\n }\n }\n\n /** @deprecated use {@link NgwMap.fitLayer} instead */\n async zoomToLayer(layerDef: string | ResourceAdapter): Promise<void> {\n return this.fitLayer(layerDef);\n }\n\n onLoad(event: keyof NgwMapEvents = 'ngw-map:create'): Promise<this> {\n return super.onLoad(event as keyof WebMapEvents);\n }\n\n removeLayer(layerDef: LayerDef): void {\n const layer = this.getLayer(layerDef);\n if (layer) {\n const layerId = this.getLayerId(layer);\n if (layerId) {\n delete this._ngwLayers[layerId];\n }\n super.removeLayer(layer);\n }\n }\n\n enableSelection(): void {\n if (!this.$$selectFromNgwRaster) {\n this.$$selectFromNgwRaster = (ev: MapClickEvent) => {\n const count = this._getSelectListenersCount();\n if (count) {\n this._selectFromNgwRaster(ev);\n }\n };\n this.$$selectFromNgwVector = (ev: OnLayerMouseOptions) => {\n const count = this._getSelectListenersCount();\n if (count) {\n this._selectFromNgwVector(ev);\n }\n };\n this.emitter.on('click', this.$$selectFromNgwRaster);\n this.emitter.on('layer:click', this.$$selectFromNgwVector);\n }\n }\n\n disableSelection(): void {\n if (this.$$selectFromNgwRaster) {\n this.emitter.removeListener('click', this.$$selectFromNgwRaster);\n this.$$selectFromNgwRaster = undefined;\n }\n if (this.$$selectFromNgwVector) {\n this.emitter.removeListener('layer:click', this.$$selectFromNgwVector);\n\n this.$$selectFromNgwVector = undefined;\n }\n }\n\n /**\n * @deprecated use {@link NgwMap.fetchNgwLayerItem} instead\n */\n getNgwLayerItem<\n G extends Geometry = Geometry,\n P extends FeatureProperties = FeatureProperties,\n >(\n options: Omit<FetchNgwItemOptions<P>, 'connector'>,\n ): CancelablePromise<FeatureItem> {\n return this.fetchNgwLayerItem<G, P>(options);\n }\n\n /**\n * @deprecated use {@link NgwMap.fetchNgwLayerItems} instead\n */\n getNgwLayerItems<\n F extends FeatureProperties = FeatureProperties,\n G extends Geometry = Geometry,\n >(\n options: Omit<FetchNgwItemsOptions<F>, 'connector'>,\n ): CancelablePromise<FeatureItem<F, G>[]> {\n return this.fetchNgwLayerItems<F, G>(options);\n }\n\n /**\n * @deprecated use {@link NgwMap.fetchNgwLayerFeature} instead\n */\n getNgwLayerFeature<\n G extends Geometry = Geometry,\n P extends FeatureProperties = FeatureProperties,\n >(\n options: Omit<FetchNgwItemOptions<P>, 'connector'>,\n ): CancelablePromise<Feature<G, P>> {\n return this.fetchNgwLayerFeature<G, P>(options);\n }\n\n /**\n * @deprecated use {@link NgwMap.fetchNgwLayerFeatures} instead\n */\n getNgwLayerFeatures<\n G extends Geometry | null = Geometry,\n P extends JsonMap = JsonMap,\n >(\n options: FetchNgwItemsOptions<P>,\n ): CancelablePromise<FeatureCollection<G, P>> {\n return this.fetchNgwLayerFeatures(options);\n }\n\n /** @deprecated use {@link NgwMap.cancelPromises} instead */\n cancelPromise(...args: PromiseGroup[]): void {\n this.cancelPromises(...args);\n }\n\n cancelPromises(...args: PromiseGroup[]): void {\n if (!args.length) {\n args = Object.keys(this._promises) as PromiseGroup[];\n }\n args.forEach((name) => {\n const group = this._promises[name];\n if (group) {\n group.forEach((x) => x.cancel());\n this._promises[name] = [];\n }\n });\n }\n\n private _addPromise(groupName: PromiseGroup, promise: CancelablePromise) {\n const group = this._promises[groupName];\n if (group && group.indexOf(promise) === -1) {\n const removeFromGroup = () => {\n const index = group.indexOf(promise);\n if (index !== -1) {\n group.splice(index, 1);\n }\n };\n promise.then(removeFromGroup);\n promise.catch(removeFromGroup);\n group.push(promise);\n }\n }\n\n private _isFitFromResource() {\n const params = this._initMapState;\n if (params.zoom && params.center) {\n return false;\n }\n return true;\n }\n\n private async _createWebMap() {\n await this.create();\n if (this.options.qmsId) {\n this._addQmsBaseLayer();\n }\n if (this.options.osm) {\n this._addOsmBaseLayer();\n }\n\n const resources: NgwLayerOptions[] = [];\n const layerFitAllowed = this._isFitFromResource();\n if (this.options.webmapId) {\n appendNgwResources(resources, this.options.webmapId, {\n fit: layerFitAllowed,\n });\n }\n if (this.options.resources && Array.isArray(this.options.resources)) {\n for (const x of this.options.resources) {\n const overwriteOptions: Partial<NgwLayerOptions> = {};\n if (!layerFitAllowed) {\n overwriteOptions.fit = false;\n }\n appendNgwResources(resources, x, {}, overwriteOptions);\n }\n }\n for (const r of resources) {\n try {\n await this.addNgwLayer(r);\n } catch (er) {\n console.warn(er);\n }\n }\n this._emitStatusEvent('ngw-map:create', this);\n this.enableSelection();\n }\n\n private _addOsmBaseLayer() {\n this.addBaseLayer('OSM');\n }\n\n private _addQmsBaseLayer() {\n let qmsId: number;\n let qmsLayerName: string | undefined;\n if (Array.isArray(this.options.qmsId)) {\n qmsId = this.options.qmsId[0];\n qmsLayerName = this.options.qmsId[1];\n } else {\n qmsId = Number(this.options.qmsId);\n }\n const qmsLayerOptions: Partial<QmsAdapterOptions> = {\n qmsId,\n };\n if (qmsLayerName) {\n qmsLayerOptions.id = qmsLayerName;\n }\n\n this.addBaseLayer('QMS', qmsLayerOptions);\n }\n\n private _selectFromNgwVector(\n ev: OnLayerMouseOptions,\n ): FeatureLayersIdentify | undefined {\n const layer: ResourceAdapter = ev.layer as ResourceAdapter;\n const selectable = layer.options.selectable && this.isLayerVisible(layer);\n if (!selectable) {\n return undefined;\n }\n // Item property means layer is NgwResource\n const id = layer.item && layer.item.resource.id;\n const feature = ev.feature;\n\n if (id !== undefined && feature) {\n const featureId = feature.id;\n if (featureId) {\n const identifyFeature: LayerFeature = {\n id: Number(featureId),\n fields: feature.properties || {},\n label: `#${id}`,\n layerId: Number(id),\n parent: '',\n geom: feature.geometry,\n };\n const items: FeatureLayersIdentifyItems = {\n featureCount: 1,\n features: [identifyFeature],\n };\n const identify: FeatureLayersIdentify = {\n featureCount: 1,\n [id]: items,\n };\n this._emitStatusEvent(\n 'ngw:select',\n this._prepareToIdentify({\n ...identify,\n resources: [id],\n sourceType: 'vector',\n } as NgwIdentify),\n );\n return identify;\n }\n }\n }\n\n private async _selectFromNgwRaster(ev: MapClickEvent) {\n this._emitStatusEvent('ngw:preselect');\n\n const promises: Promise<number[] | undefined>[] = [];\n const layers = Object.values(this._ngwLayers);\n layers.sort((a, b) => {\n if (a.layer.order && b.layer.order) {\n return b.layer.order - a.layer.order;\n }\n return 1;\n });\n for (const l of layers) {\n const layer = l.layer;\n const identFunc =\n typeof layer.getIdentificationIds === 'function'\n ? layer.getIdentificationIds\n : false;\n if (identFunc && layer.options.selectable && this.isLayerVisible(layer)) {\n promises.push(identFunc.call(layer));\n }\n }\n const getIdsPromise = Promise.all(promises);\n const getIds = await getIdsPromise;\n const ids: number[] = [];\n for (const x of getIds) {\n if (x) {\n ids.push(...x);\n }\n }\n\n if (!ids.length) {\n this._emitStatusEvent('ngw:select', null);\n return;\n }\n\n const pixelRadius = this.options.pixelRadius || 10;\n const center = this.getCenter();\n let zoom = this.getZoom();\n zoom = zoom !== undefined ? zoom : 20;\n if (!center || !zoom) {\n this._emitStatusEvent('ngw:select', null);\n return;\n }\n const radius = getIdentifyRadius(center, zoom, pixelRadius);\n\n const selectPromise = sendIdentifyRequest(ev, {\n layers: ids,\n connector: this.connector,\n radius,\n }).then((resp) => {\n this._emitStatusEvent(\n 'ngw:select',\n this._prepareToIdentify({\n ...resp,\n resources: ids,\n sourceType: 'raster',\n event: ev,\n }),\n );\n return resp;\n });\n this._addPromise('select', selectPromise);\n return selectPromise;\n }\n\n private _prepareToIdentify<\n F = FeatureProperties,\n G extends Geometry = Geometry,\n >(identify: NgwIdentify): NgwIdentifyEvent {\n const getIdentifyItems_ = () => {\n return getIdentifyItems(identify, true).map((x) => {\n return createIdentifyItem<F, G>({\n feature: x.feature,\n connector: this.connector,\n });\n });\n };\n return {\n ...identify,\n getIdentifyItems: getIdentifyItems_,\n };\n }\n\n private _getSelectListenersCount() {\n return this.emitter.listenerCount('ngw:select');\n }\n\n private async _whiteLabel() {\n const container = this.getContainer();\n if (container) {\n const logo = await getCompanyLogo(\n this.connector,\n this.options.companyLogoOptions,\n );\n if (logo) {\n container.appendChild(logo);\n }\n }\n }\n}\n","/**\n * @module ngw-map\n */\n\nimport { NgwMap } from './NgwMap';\nimport type { NgwMapOptions } from './interfaces';\n\nexport * from '@nextgis/webmap';\n\nexport * from './interfaces';\n\nexport { NgwMap };\n\nexport async function createNgwMap(options: NgwMapOptions): Promise<NgwMap> {\n const ngwMap = new NgwMap(options);\n return ngwMap.onLoad();\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngw-map.esm-bundler.js","sources":["../src/utils/appendNgwResources.ts","../src/utils/prepareWebMapOptions.ts","../src/NgwMap.ts","../src/index.ts"],"sourcesContent":["import type { NgwLayerOptions } from '@nextgis/ngw-kit';\nimport type { NgwResourceDefinition } from '../interfaces';\n\nexport function appendNgwResources(\n options: NgwLayerOptions[],\n resource?: NgwResourceDefinition,\n defOptions?: Partial<NgwLayerOptions>,\n overwriteOptions?: Partial<NgwLayerOptions>,\n): void {\n if (typeof resource === 'number' || typeof resource === 'string') {\n resource = Number(resource);\n options.push({\n ...defOptions,\n resource,\n });\n } else if (Array.isArray(resource)) {\n const [resourceId, id] = resource;\n options.push({\n ...defOptions,\n resource: resourceId,\n id,\n ...overwriteOptions,\n });\n } else if (typeof resource === 'object') {\n options.push({ ...defOptions, ...resource, ...overwriteOptions });\n }\n}\n","import { deepmerge } from '@nextgis/utils';\nimport { StarterKit, MapOptions } from '@nextgis/webmap';\nimport NgwConnector from '@nextgis/ngw-connector';\nimport { QmsKit } from '@nextgis/qms-kit';\nimport { NgwKit } from '@nextgis/ngw-kit';\n\nimport { NgwMapOptions } from '../interfaces';\n\nexport const OPTIONS: NgwMapOptions = {\n target: 'map',\n baseUrl: '',\n whitlabel: false,\n controls: ['ZOOM', 'ATTRIBUTION'],\n controlsOptions: {\n ZOOM: { position: 'top-left' },\n ATTRIBUTION: {\n position: 'bottom-right',\n customAttribution: [\n '<a href=\"https://nextgis.com\" target=\"_blank\">©NextGIS</a>',\n ],\n },\n },\n pixelRadius: 10,\n};\n\nexport function prepareWebMapOptions(options: NgwMapOptions): MapOptions {\n const kits: StarterKit[] = [new QmsKit()];\n if (options.starterKits) {\n options.starterKits.forEach((x) => {\n kits.push(x);\n });\n }\n\n if (!options.connector) {\n options.connector = new NgwConnector({\n baseUrl: options.baseUrl || '',\n auth: options.auth,\n });\n } else if (options.connector) {\n options.baseUrl = options.connector.options.baseUrl;\n }\n options = deepmerge(OPTIONS, options);\n\n if (!options.center && !options.bounds) {\n options.bounds = [-179, -90, 180, 90];\n // options.maxBounds = options.bounds;\n }\n\n if (options.connector) {\n kits.push(\n new NgwKit({\n connector: options.connector,\n auth: options.auth,\n }),\n );\n }\n options = {\n ...options,\n starterKits: kits,\n create: false,\n };\n return options;\n}\n","import StrictEventEmitter from 'strict-event-emitter-types';\nimport { EventEmitter } from 'events';\nimport CancelablePromise from '@nextgis/cancelable-promise';\nimport { defined, isObject, getIdentifyRadius } from '@nextgis/utils';\nimport { AdapterOptions, WebMap } from '@nextgis/webmap';\nimport NgwConnector from '@nextgis/ngw-connector';\n\nimport {\n fetchNgwLayerFeatureCollection,\n fetchNgwResourceExtent,\n createNgwLayerAdapter,\n fetchNgwLayerFeature,\n fetchIdentifyGeoJson,\n sendIdentifyRequest,\n createIdentifyItem,\n fetchNgwLayerItems,\n fetchIdentifyItem,\n fetchNgwLayerItem,\n getIdentifyItems,\n getCompanyLogo,\n} from '@nextgis/ngw-kit';\nimport { deprecatedWarn } from '@nextgis/utils';\nimport { getIcon } from '@nextgis/icons';\n\nimport { appendNgwResources } from './utils/appendNgwResources';\nimport { prepareWebMapOptions } from './utils/prepareWebMapOptions';\n\nimport type { JsonMap, FeatureProperties } from '@nextgis/utils';\nimport type {\n FeatureItem,\n LayerFeature,\n ResourceItem,\n FeatureLayersIdentify,\n FeatureLayersIdentifyItems,\n} from '@nextgis/ngw-connector';\nimport type {\n OnLayerMouseOptions,\n ControlPosition,\n MapClickEvent,\n LayerAdapter,\n WebMapEvents,\n MapControls,\n FitOptions,\n LayerDef,\n} from '@nextgis/webmap';\nimport type {\n NgwIdentify,\n NgwWebmapItem,\n ResourceAdapter,\n FetchNgwItemsOptions,\n NgwFeatureItemResponse,\n NgwFeatureRequestOptions,\n} from '@nextgis/ngw-kit';\nimport type { Geometry, Feature, FeatureCollection } from 'geojson';\nimport type { QmsAdapterOptions } from '@nextgis/qms-kit';\nimport type { NgwLayerOptions } from '@nextgis/ngw-kit';\nimport type {\n NgwIdentifyEvent,\n NgwMapOptions,\n NgwMapEvents,\n NgwLayers,\n} from './interfaces';\nimport type { FetchNgwItemOptions } from '@nextgis/ngw-kit';\n\ntype PromiseGroup = 'select' | 'identify';\n\n/**\n * Base class containing the logic of interaction WebMap with NextGIS services.\n *\n * @example\n * ```javascript\n * import { NgwMap } from '@nextgis/ngw-map';\n * import MapAdapter from '@nextgis/leaflet-map-adapter';\n * // styles are not included in the leaflet-map-adapter\n * import 'leaflet/dist/leaflet.css';\n *\n * const ngwMap = new NgwMap({\n * mapAdapter: new MapAdapter(),\n * target: 'map',\n * qmsId: 448,\n * baseUrl: 'https://demo.nextgis.com',\n * webmapId: 3985\n * });\n * ```\n */\nexport class NgwMap<\n M = unknown,\n L = unknown,\n C = unknown,\n O extends NgwMapOptions<M, C> = NgwMapOptions<M, C>,\n> extends WebMap<M, L, C, NgwMapEvents, O> {\n static getIcon = getIcon;\n\n readonly emitter: StrictEventEmitter<EventEmitter, NgwMapEvents> =\n new EventEmitter();\n connector!: NgwConnector;\n\n protected _ngwLayers: NgwLayers = {};\n private $$selectFromNgwRaster?: (ev: MapClickEvent) => void;\n private $$selectFromNgwVector?: (ev: OnLayerMouseOptions) => void;\n private _promises: Record<PromiseGroup, CancelablePromise[]> = {\n select: [],\n identify: [],\n };\n\n constructor(options: O) {\n super(prepareWebMapOptions(options) as O);\n if (options.connector) {\n this.connector = options.connector;\n }\n this._createWebMap().then(() => {\n const container = this.getContainer();\n if (container) {\n container.classList.add('ngw-map-container');\n }\n if (this.options.whitlabel) {\n this._whiteLabel();\n }\n });\n }\n\n /**\n * Organized addition to the map design and controls elements,\n * calling `control.onAdd(this.webMap.mapAdapter)`\n * @param control - object with onAdd and onRemove methods\n * or a string value indicating the name of the control installed in the map adapter\n * @param position - position relative to the map angles\n * @param options - initialization parameters if the control is set as a string value\n *\n * @example\n * ```javascript\n * ngwMap.addControl(new CustomControl(), 'bottom-left');\n * ngwMap.addControl('ZOOM', 'top-right')\n * ```\n */\n async addControl<K extends keyof MapControls>(\n controlDef: K | C,\n position: ControlPosition,\n options?: MapControls[K],\n ): Promise<any> {\n await this.onLoad('controls:create');\n return super.addControl(controlDef, position, options);\n }\n\n /**\n * Add any (style, vector, webmap) NGW layer by resource definition.\n * @param options - set layer identification parameters and render method.\n *\n * @example\n * ```javascript\n * // Add raster layer resourceId is the style of 4004 layer\n * ngwMap.addNgwLayer({ resource: 4005 });\n * // Add vector data from layer GEOJSON source\n * ngwMap.addNgwLayer({\n * resource: 4038,\n * adapter: 'GEOJSON',\n * adapterOptions: { paint: { color: 'red' } }\n * });\n * ```\n */\n async addNgwLayer(\n options: NgwLayerOptions,\n ): Promise<ResourceAdapter | undefined> {\n await this.onMapLoad();\n // @ts-ignore for backward compatibility\n const { keyname, resourceId } = options;\n\n if (keyname || resourceId !== undefined) {\n deprecatedWarn(\n 'set `resource` options instead of `keyname` or `resourceId`',\n );\n }\n\n const resource = options.resource;\n if (!keyname && !resourceId && !resource) {\n throw new Error(\n 'resource, resourceId or keyname is required parameter to add NGW layer',\n );\n }\n if (defined(this.options.baseUrl)) {\n try {\n if (defined(this.options.setViewDelay)) {\n options.adapterOptions = options.adapterOptions || {};\n if (!defined(options.adapterOptions.setViewDelay)) {\n options.adapterOptions.setViewDelay = this.options.setViewDelay;\n }\n }\n const adapter = createNgwLayerAdapter(options, this, this.connector);\n const adapterOpts = {\n visibility: true,\n // TODO: do not merge options, use only `adapterOptions`\n ...options,\n ...options.adapterOptions,\n } as AdapterOptions;\n const layer = (await this.addLayer(\n adapter,\n adapterOpts,\n )) as ResourceAdapter<M, L, AdapterOptions>;\n const id = layer && this.getLayerId(layer);\n if (layer && id) {\n this._ngwLayers[id] = { layer, resourceId: layer.resourceId };\n layer.options.name =\n layer.options.name ||\n (layer.item && layer.item.resource.display_name);\n if (layer.options.baselayer) {\n const visibleLayerBaseLayer = this.getActiveBaseLayer();\n if (visibleLayerBaseLayer) {\n return layer;\n }\n }\n }\n return layer;\n } catch (er) {\n const resId =\n isObject(resource) && 'id' in resource\n ? resource.id\n : keyname || resourceId || resource;\n console.error(`Can't add NGW layer ${resId}.`, er);\n }\n }\n }\n\n /**\n * Pans and zooms the map to the initial position specified in the options\n */\n fit(): void {\n const { center, zoom, bounds } = this.options;\n if (center) {\n this.setCenter(center);\n if (zoom) {\n this.setZoom(zoom);\n }\n } else if (bounds) {\n this.fitBounds(bounds);\n }\n }\n\n fetchNgwLayerItem<\n G extends Geometry = Geometry,\n P extends FeatureProperties = FeatureProperties,\n >(\n options: Omit<FetchNgwItemOptions<P>, 'connector'>,\n ): CancelablePromise<FeatureItem> {\n return fetchNgwLayerItem<G, P>({\n connector: this.connector,\n ...options,\n });\n }\n\n fetchNgwLayerItems<\n F extends FeatureProperties = FeatureProperties,\n G extends Geometry = Geometry,\n >(\n options: Omit<FetchNgwItemsOptions<F>, 'connector'>,\n ): CancelablePromise<FeatureItem<F, G>[]> {\n return fetchNgwLayerItems<G, F>({\n connector: this.connector,\n ...options,\n });\n }\n\n fetchNgwLayerFeature<\n G extends Geometry = Geometry,\n P extends FeatureProperties = FeatureProperties,\n >(\n options: Omit<FetchNgwItemOptions<P>, 'connector'>,\n ): CancelablePromise<Feature<G, P>> {\n return fetchNgwLayerFeature<G, P>({\n connector: this.connector,\n ...options,\n });\n }\n\n fetchNgwLayerFeatures<\n G extends Geometry | null = Geometry,\n P extends FeatureProperties = FeatureProperties,\n >(\n options: Omit<FetchNgwItemsOptions<P>, 'connector'>,\n ): CancelablePromise<FeatureCollection<G, P>> {\n return fetchNgwLayerFeatureCollection({\n connector: this.connector,\n ...options,\n });\n }\n\n fetchIdentifyItem<\n G extends Geometry = Geometry,\n P extends FeatureProperties = FeatureProperties,\n >(\n identify: NgwIdentify,\n requestOptions?: NgwFeatureRequestOptions,\n // multiple = false\n ): CancelablePromise<NgwFeatureItemResponse<P, G> | undefined> {\n const promise = fetchIdentifyItem<G, P>({\n identify,\n connector: this.connector,\n requestOptions,\n // multiple,\n });\n\n this._addPromise('identify', promise);\n return promise;\n }\n\n fetchIdentifyGeoJson(\n identify: NgwIdentify,\n multiple = false,\n ): CancelablePromise<Feature | undefined> {\n const promise = fetchIdentifyGeoJson({\n identify,\n connector: this.connector,\n multiple,\n });\n if (promise && 'then' in promise) {\n this._addPromise('identify', promise);\n return promise;\n } else {\n return CancelablePromise.resolve(promise);\n }\n }\n\n /**\n * @deprecated use {@link fetchIdentifyGeoJson} instead\n */\n getIdentifyGeoJson(\n identify: NgwIdentify,\n multiple = false,\n ): CancelablePromise<Feature | undefined> {\n return this.fetchIdentifyGeoJson(identify, multiple);\n }\n\n async getNgwLayers(): Promise<NgwLayers> {\n await this.onLoad();\n return this._ngwLayers;\n }\n\n async getNgwLayerByResourceId(id: number): Promise<LayerAdapter | undefined> {\n for (const n in this._ngwLayers) {\n const mem = this._ngwLayers[n];\n if (mem.resourceId === id) {\n return mem && mem.layer;\n } else if (mem.layer.getIdentificationIds) {\n const ids = await mem.layer.getIdentificationIds();\n if (ids && ids.some((x) => x === id)) {\n return mem.layer;\n }\n }\n if (mem.layer.getDependLayers) {\n const dependLayers = mem.layer.getDependLayers() as NgwWebmapItem[];\n const dependFit = dependLayers.find((x) => {\n return x.item && x.item.parentId === id;\n });\n if (dependFit) {\n return dependFit.layer;\n }\n }\n }\n }\n\n /**\n * Move map to layer. If the layer is NGW resource, extent will be received from the server\n *\n * @example\n * ```javascript\n * const ngwLayer = ngwMap.addNgwLayer({ id: 'ngw_layer_name', resource: 4005 });\n * ngwMap.fitLayer(ngwLayer);\n * ngwMap.fitLayer('ngw_layer_name');\n * ```\n */\n async fitLayer(layerDef: LayerDef, options?: FitOptions): Promise<void> {\n let id: string | undefined;\n if (typeof layerDef === 'string' || typeof layerDef === 'number') {\n id = String(id);\n } else {\n id = layerDef.id;\n }\n const ngwLayer = id && this._ngwLayers[id];\n if (ngwLayer) {\n if (ngwLayer.layer.getBounds) {\n const bounds = await ngwLayer.layer.getBounds();\n if (bounds) {\n this.fitBounds(bounds, options);\n }\n } else {\n let item: ResourceItem | undefined;\n if (ngwLayer.layer.item) {\n item = ngwLayer.layer.item;\n } else {\n const resourceId = ngwLayer.resourceId;\n item = await this.connector.getResource(resourceId);\n }\n if (item) {\n fetchNgwResourceExtent(item, this.connector).then((extent) => {\n if (extent) {\n this.fitBounds(extent, options);\n }\n });\n }\n }\n } else {\n super.fitLayer(layerDef, options);\n }\n }\n\n /** @deprecated use {@link NgwMap.fitLayer} instead */\n async zoomToLayer(layerDef: string | ResourceAdapter): Promise<void> {\n return this.fitLayer(layerDef);\n }\n\n onLoad(event: keyof NgwMapEvents = 'ngw-map:create'): Promise<this> {\n return super.onLoad(event as keyof WebMapEvents);\n }\n\n removeLayer(layerDef: LayerDef): void {\n const layer = this.getLayer(layerDef);\n if (layer) {\n const layerId = this.getLayerId(layer);\n if (layerId) {\n delete this._ngwLayers[layerId];\n }\n super.removeLayer(layer);\n }\n }\n\n enableSelection(): void {\n if (!this.$$selectFromNgwRaster) {\n this.$$selectFromNgwRaster = (ev: MapClickEvent) => {\n const count = this._getSelectListenersCount();\n if (count) {\n this.selectFromNgwRaster(ev);\n }\n };\n this.$$selectFromNgwVector = (ev: OnLayerMouseOptions) => {\n const count = this._getSelectListenersCount();\n if (count) {\n this._selectFromNgwVector(ev);\n }\n };\n this.emitter.on('click', this.$$selectFromNgwRaster);\n this.emitter.on('layer:click', this.$$selectFromNgwVector);\n }\n }\n\n disableSelection(): void {\n if (this.$$selectFromNgwRaster) {\n this.emitter.removeListener('click', this.$$selectFromNgwRaster);\n this.$$selectFromNgwRaster = undefined;\n }\n if (this.$$selectFromNgwVector) {\n this.emitter.removeListener('layer:click', this.$$selectFromNgwVector);\n\n this.$$selectFromNgwVector = undefined;\n }\n }\n\n /**\n * @deprecated use {@link NgwMap.fetchNgwLayerItem} instead\n */\n getNgwLayerItem<\n G extends Geometry = Geometry,\n P extends FeatureProperties = FeatureProperties,\n >(\n options: Omit<FetchNgwItemOptions<P>, 'connector'>,\n ): CancelablePromise<FeatureItem> {\n return this.fetchNgwLayerItem<G, P>(options);\n }\n\n /**\n * @deprecated use {@link NgwMap.fetchNgwLayerItems} instead\n */\n getNgwLayerItems<\n F extends FeatureProperties = FeatureProperties,\n G extends Geometry = Geometry,\n >(\n options: Omit<FetchNgwItemsOptions<F>, 'connector'>,\n ): CancelablePromise<FeatureItem<F, G>[]> {\n return this.fetchNgwLayerItems<F, G>(options);\n }\n\n /**\n * @deprecated use {@link NgwMap.fetchNgwLayerFeature} instead\n */\n getNgwLayerFeature<\n G extends Geometry = Geometry,\n P extends FeatureProperties = FeatureProperties,\n >(\n options: Omit<FetchNgwItemOptions<P>, 'connector'>,\n ): CancelablePromise<Feature<G, P>> {\n return this.fetchNgwLayerFeature<G, P>(options);\n }\n\n /**\n * @deprecated use {@link NgwMap.fetchNgwLayerFeatures} instead\n */\n getNgwLayerFeatures<\n G extends Geometry | null = Geometry,\n P extends JsonMap = JsonMap,\n >(\n options: FetchNgwItemsOptions<P>,\n ): CancelablePromise<FeatureCollection<G, P>> {\n return this.fetchNgwLayerFeatures(options);\n }\n\n /** @deprecated use {@link NgwMap.cancelPromises} instead */\n cancelPromise(...args: PromiseGroup[]): void {\n this.cancelPromises(...args);\n }\n\n cancelPromises(...args: PromiseGroup[]): void {\n if (!args.length) {\n args = Object.keys(this._promises) as PromiseGroup[];\n }\n args.forEach((name) => {\n const group = this._promises[name];\n if (group) {\n group.forEach((x) => x.cancel());\n this._promises[name] = [];\n }\n });\n }\n\n async selectFromNgwRaster(\n ev: MapClickEvent,\n ): Promise<NgwIdentifyEvent | undefined> {\n this._emitStatusEvent('ngw:preselect');\n\n const promises: Promise<number[] | undefined>[] = [];\n const layers = Object.values(this._ngwLayers);\n layers.sort((a, b) => {\n if (a.layer.order && b.layer.order) {\n return b.layer.order - a.layer.order;\n }\n return 1;\n });\n for (const l of layers) {\n const layer = l.layer;\n const identFunc =\n typeof layer.getIdentificationIds === 'function'\n ? layer.getIdentificationIds\n : false;\n if (identFunc && layer.options.selectable && this.isLayerVisible(layer)) {\n promises.push(identFunc.call(layer));\n }\n }\n const getIdsPromise = Promise.all(promises);\n const getIds = await getIdsPromise;\n const ids: number[] = [];\n for (const x of getIds) {\n if (x) {\n ids.push(...x);\n }\n }\n\n if (!ids.length) {\n this._emitStatusEvent('ngw:select', null);\n return;\n }\n\n const pixelRadius = this.options.pixelRadius || 10;\n const center = this.getCenter();\n let zoom = this.getZoom();\n zoom = zoom !== undefined ? zoom : 20;\n if (!center || !zoom) {\n this._emitStatusEvent('ngw:select', null);\n return;\n }\n const radius = getIdentifyRadius(center, zoom, pixelRadius);\n\n const selectPromise = sendIdentifyRequest(ev, {\n layers: ids,\n connector: this.connector,\n radius,\n }).then((resp) => {\n const identify: NgwIdentify = {\n ...resp,\n resources: ids,\n sourceType: 'raster',\n event: ev,\n };\n const identifyEvent: NgwIdentifyEvent = this._prepareToIdentify(identify);\n this._emitStatusEvent('ngw:select', identify);\n return identifyEvent;\n });\n this._addPromise('select', selectPromise);\n return selectPromise;\n }\n\n private _addPromise(groupName: PromiseGroup, promise: CancelablePromise) {\n const group = this._promises[groupName];\n if (group && group.indexOf(promise) === -1) {\n const removeFromGroup = () => {\n const index = group.indexOf(promise);\n if (index !== -1) {\n group.splice(index, 1);\n }\n };\n promise.then(removeFromGroup);\n promise.catch(removeFromGroup);\n group.push(promise);\n }\n }\n\n private _isFitFromResource() {\n const params = this._initMapState;\n if (params.zoom && params.center) {\n return false;\n }\n return true;\n }\n\n private async _createWebMap() {\n await this.create();\n if (this.options.qmsId) {\n this._addQmsBaseLayer();\n }\n if (this.options.osm) {\n this._addOsmBaseLayer();\n }\n\n const resources: NgwLayerOptions[] = [];\n const layerFitAllowed = this._isFitFromResource();\n if (this.options.webmapId) {\n appendNgwResources(resources, this.options.webmapId, {\n fit: layerFitAllowed,\n });\n }\n if (this.options.resources && Array.isArray(this.options.resources)) {\n for (const x of this.options.resources) {\n const overwriteOptions: Partial<NgwLayerOptions> = {};\n if (!layerFitAllowed) {\n overwriteOptions.fit = false;\n }\n appendNgwResources(resources, x, {}, overwriteOptions);\n }\n }\n for (const r of resources) {\n try {\n await this.addNgwLayer(r);\n } catch (er) {\n console.warn(er);\n }\n }\n this._emitStatusEvent('ngw-map:create', this);\n this.enableSelection();\n }\n\n private _addOsmBaseLayer() {\n this.addBaseLayer('OSM');\n }\n\n private _addQmsBaseLayer() {\n let qmsId: number;\n let qmsLayerName: string | undefined;\n if (Array.isArray(this.options.qmsId)) {\n qmsId = this.options.qmsId[0];\n qmsLayerName = this.options.qmsId[1];\n } else {\n qmsId = Number(this.options.qmsId);\n }\n const qmsLayerOptions: Partial<QmsAdapterOptions> = {\n qmsId,\n };\n if (qmsLayerName) {\n qmsLayerOptions.id = qmsLayerName;\n }\n\n this.addBaseLayer('QMS', qmsLayerOptions);\n }\n\n private _selectFromNgwVector(\n ev: OnLayerMouseOptions,\n ): FeatureLayersIdentify | undefined {\n const layer: ResourceAdapter = ev.layer as ResourceAdapter;\n const selectable = layer.options.selectable && this.isLayerVisible(layer);\n if (!selectable) {\n return undefined;\n }\n // Item property means layer is NgwResource\n const id = layer.item && layer.item.resource.id;\n const feature = ev.feature;\n\n if (id !== undefined && feature) {\n const featureId = feature.id;\n if (featureId) {\n const identifyFeature: LayerFeature = {\n id: Number(featureId),\n fields: feature.properties || {},\n label: `#${id}`,\n layerId: Number(id),\n parent: '',\n geom: feature.geometry,\n };\n const items: FeatureLayersIdentifyItems = {\n featureCount: 1,\n features: [identifyFeature],\n };\n const identify: FeatureLayersIdentify = {\n featureCount: 1,\n [id]: items,\n };\n this._emitStatusEvent(\n 'ngw:select',\n this._prepareToIdentify({\n ...identify,\n resources: [id],\n sourceType: 'vector',\n } as NgwIdentify),\n );\n return identify;\n }\n }\n }\n\n private _prepareToIdentify<\n F = FeatureProperties,\n G extends Geometry = Geometry,\n >(identify: NgwIdentify): NgwIdentifyEvent {\n const getIdentifyItems_ = () => {\n return getIdentifyItems(identify, true).map((x) => {\n return createIdentifyItem<F, G>({\n feature: x.feature,\n connector: this.connector,\n });\n });\n };\n return {\n ...identify,\n getIdentifyItems: getIdentifyItems_,\n };\n }\n\n private _getSelectListenersCount() {\n return this.emitter.listenerCount('ngw:select');\n }\n\n private async _whiteLabel() {\n const container = this.getContainer();\n if (container) {\n const logo = await getCompanyLogo(\n this.connector,\n this.options.companyLogoOptions,\n );\n if (logo) {\n container.appendChild(logo);\n }\n }\n }\n}\n","/**\n * @module ngw-map\n */\n\nimport { NgwMap } from './NgwMap';\nimport type { NgwMapOptions } from './interfaces';\n\nexport * from '@nextgis/webmap';\n\nexport * from './interfaces';\n\nexport { NgwMap };\n\nexport async function createNgwMap(options: NgwMapOptions): Promise<NgwMap> {\n const ngwMap = new NgwMap(options);\n return ngwMap.onLoad();\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{EventEmitter as t}from"events";import e from"@nextgis/cancelable-promise";import{deepmerge as r,isObject as n,defined as o,deprecatedWarn as i}from"@nextgis/utils";import{WebMap as s}from"@nextgis/webmap";export*from"@nextgis/webmap";import{NgwKit as a,fetchNgwLayerItem as c,fetchNgwLayerItems as u,fetchNgwLayerFeature as l,fetchNgwLayerFeatureCollection as p,fetchIdentifyItem as h,fetchIdentifyGeoJson as f,getIdentifyItems as y,createIdentifyItem as d,createNgwLayerAdapter as m,sendIdentifyRequest as g,getCompanyLogo as w,fetchNgwResourceExtent as v}from"@nextgis/ngw-kit";import{getIcon as b}from"@nextgis/icons";import L from"@nextgis/ngw-connector";import{QmsKit as _}from"@nextgis/qms-kit";var I=function(t,e){return I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},I(t,e)};var N=function(){return N=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},N.apply(this,arguments)};function O(t,e,r,n){return new(r||(r=Promise))((function(o,i){function s(t){try{c(n.next(t))}catch(e){i(e)}}function a(t){try{c(n.throw(t))}catch(e){i(e)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}c((n=n.apply(t,e||[])).next())}))}function F(t,e){var r,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(a){i=[6,a],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}function x(t,e,r,n){if("number"==typeof e||"string"==typeof e)e=Number(e),t.push(N(N({},r),{resource:e}));else if(Array.isArray(e)){var o=e[0],i=e[1];t.push(N(N(N({},r),{resource:o,id:i}),n))}else"object"==typeof e&&t.push(N(N(N({},r),e),n))}var $={target:"map",baseUrl:"",whitlabel:!1,controls:["ZOOM","ATTRIBUTION"],controlsOptions:{ZOOM:{position:"top-left"},ATTRIBUTION:{position:"bottom-right",customAttribution:['<a href="https://nextgis.com" target="_blank">©NextGIS</a>']}},pixelRadius:10};var S=function(s){function S(e){var n=s.call(this,function(t){var e=[new _];return t.starterKits&&t.starterKits.forEach((function(t){e.push(t)})),t.connector?t.connector&&(t.baseUrl=t.connector.options.baseUrl):t.connector=new L({baseUrl:t.baseUrl||"",auth:t.auth}),(t=r($,t)).center||t.bounds||(t.bounds=[-179,-90,180,90]),t.connector&&e.push(new a({connector:t.connector,auth:t.auth})),N(N({},t),{starterKits:e,create:!1})}(e))||this;return n.emitter=new t,n._ngwLayers={},n._promises={select:[],identify:[]},e.connector&&(n.connector=e.connector),n._createWebMap().then((function(){var t=n.getContainer();t&&t.classList.add("ngw-map-container"),n.options.whitlabel&&n._whiteLabel()})),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}I(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(S,s),S.prototype.addControl=function(t,e,r){return O(this,void 0,void 0,(function(){return F(this,(function(n){switch(n.label){case 0:return[4,this.onLoad("controls:create")];case 1:return n.sent(),[2,s.prototype.addControl.call(this,t,e,r)]}}))}))},S.prototype.addNgwLayer=function(t){return O(this,void 0,void 0,(function(){var e,r,s,a,c,u,l,p,h;return F(this,(function(f){switch(f.label){case 0:return[4,this.onMapLoad()];case 1:if(f.sent(),r=t.resourceId,((e=t.keyname)||void 0!==r)&&i("set `resource` options instead of `keyname` or `resourceId`"),s=t.resource,!e&&!r&&!s)throw new Error("resource, resourceId or keyname is required parameter to add NGW layer");if(!o(this.options.baseUrl))return[3,5];f.label=2;case 2:return f.trys.push([2,4,,5]),o(this.options.setViewDelay)&&(t.adapterOptions=t.adapterOptions||{},o(t.adapterOptions.setViewDelay)||(t.adapterOptions.setViewDelay=this.options.setViewDelay)),a=m(t,this,this.connector),c=N(N({visibility:!0},t),t.adapterOptions),[4,this.addLayer(a,c)];case 3:return u=f.sent(),l=u&&this.getLayerId(u),u&&l&&(this._ngwLayers[l]={layer:u,resourceId:u.resourceId},u.options.name=u.options.name||u.item&&u.item.resource.display_name,u.options.baselayer&&this.getActiveBaseLayer()),[2,u];case 4:return p=f.sent(),h=n(s)&&"id"in s?s.id:e||r||s,console.error("Can't add NGW layer ".concat(h,"."),p),[3,5];case 5:return[2]}}))}))},S.prototype.fit=function(){var t=this.options,e=t.center,r=t.zoom,n=t.bounds;e?(this.setCenter(e),r&&this.setZoom(r)):n&&this.fitBounds(n)},S.prototype.fetchNgwLayerItem=function(t){return c(N({connector:this.connector},t))},S.prototype.fetchNgwLayerItems=function(t){return u(N({connector:this.connector},t))},S.prototype.fetchNgwLayerFeature=function(t){return l(N({connector:this.connector},t))},S.prototype.fetchNgwLayerFeatures=function(t){return p(N({connector:this.connector},t))},S.prototype.fetchIdentifyItem=function(t,e){var r=h({identify:t,connector:this.connector,requestOptions:e});return this._addPromise("identify",r),r},S.prototype.fetchIdentifyGeoJson=function(t,r){void 0===r&&(r=!1);var n=f({identify:t,connector:this.connector,multiple:r});return n&&"then"in n?(this._addPromise("identify",n),n):e.resolve(n)},S.prototype.getIdentifyGeoJson=function(t,e){return void 0===e&&(e=!1),this.fetchIdentifyGeoJson(t,e)},S.prototype.getNgwLayers=function(){return O(this,void 0,void 0,(function(){return F(this,(function(t){switch(t.label){case 0:return[4,this.onLoad()];case 1:return t.sent(),[2,this._ngwLayers]}}))}))},S.prototype.getNgwLayerByResourceId=function(t){return O(this,void 0,void 0,(function(){var e,r,n,o,i,s,a;return F(this,(function(c){switch(c.label){case 0:for(r in e=[],this._ngwLayers)e.push(r);n=0,c.label=1;case 1:return n<e.length?(o=this._ngwLayers[e[n]]).resourceId!==t?[3,2]:[2,o&&o.layer]:[3,6];case 2:return o.layer.getIdentificationIds?[4,o.layer.getIdentificationIds()]:[3,4];case 3:if((i=c.sent())&&i.some((function(e){return e===t})))return[2,o.layer];c.label=4;case 4:if(o.layer.getDependLayers&&(s=o.layer.getDependLayers(),a=s.find((function(e){return e.item&&e.item.parentId===t}))))return[2,a.layer];c.label=5;case 5:return n++,[3,1];case 6:return[2]}}))}))},S.prototype.fitLayer=function(t,e){return O(this,void 0,void 0,(function(){var r,n,o,i,a=this;return F(this,(function(c){switch(c.label){case 0:return r="string"==typeof t||"number"==typeof t?String(r):t.id,(n=r&&this._ngwLayers[r])?n.layer.getBounds?[4,n.layer.getBounds()]:[3,2]:[3,7];case 1:return(o=c.sent())&&this.fitBounds(o,e),[3,6];case 2:return i=void 0,n.layer.item?(i=n.layer.item,[3,5]):[3,3];case 3:return[4,this.connector.getResource(n.resourceId)];case 4:i=c.sent(),c.label=5;case 5:i&&v(i,this.connector).then((function(t){t&&a.fitBounds(t,e)})),c.label=6;case 6:return[3,8];case 7:s.prototype.fitLayer.call(this,t,e),c.label=8;case 8:return[2]}}))}))},S.prototype.zoomToLayer=function(t){return O(this,void 0,void 0,(function(){return F(this,(function(e){return[2,this.fitLayer(t)]}))}))},S.prototype.onLoad=function(t){return void 0===t&&(t="ngw-map:create"),s.prototype.onLoad.call(this,t)},S.prototype.removeLayer=function(t){var e=this.getLayer(t);if(e){var r=this.getLayerId(e);r&&delete this._ngwLayers[r],s.prototype.removeLayer.call(this,e)}},S.prototype.enableSelection=function(){var t=this;this.$$selectFromNgwRaster||(this.$$selectFromNgwRaster=function(e){t._getSelectListenersCount()&&t._selectFromNgwRaster(e)},this.$$selectFromNgwVector=function(e){t._getSelectListenersCount()&&t._selectFromNgwVector(e)},this.emitter.on("click",this.$$selectFromNgwRaster),this.emitter.on("layer:click",this.$$selectFromNgwVector))},S.prototype.disableSelection=function(){this.$$selectFromNgwRaster&&(this.emitter.removeListener("click",this.$$selectFromNgwRaster),this.$$selectFromNgwRaster=void 0),this.$$selectFromNgwVector&&(this.emitter.removeListener("layer:click",this.$$selectFromNgwVector),this.$$selectFromNgwVector=void 0)},S.prototype.getNgwLayerItem=function(t){return this.fetchNgwLayerItem(t)},S.prototype.getNgwLayerItems=function(t){return this.fetchNgwLayerItems(t)},S.prototype.getNgwLayerFeature=function(t){return this.fetchNgwLayerFeature(t)},S.prototype.getNgwLayerFeatures=function(t){return this.fetchNgwLayerFeatures(t)},S.prototype.cancelPromise=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];this.cancelPromises.apply(this,t)},S.prototype.cancelPromises=function(){for(var t=this,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];e.length||(e=Object.keys(this._promises)),e.forEach((function(e){var r=t._promises[e];r&&(r.forEach((function(t){return t.cancel()})),t._promises[e]=[])}))},S.prototype._addPromise=function(t,e){var r=this._promises[t];if(r&&-1===r.indexOf(e)){var n=function(){var t=r.indexOf(e);-1!==t&&r.splice(t,1)};e.then(n),e.catch(n),r.push(e)}},S.prototype._isFitFromResource=function(){var t=this._initMapState;return!t.zoom||!t.center},S.prototype._createWebMap=function(){return O(this,void 0,void 0,(function(){var t,e,r,n,o,i,s,a,c,u;return F(this,(function(l){switch(l.label){case 0:return[4,this.create()];case 1:if(l.sent(),this.options.qmsId&&this._addQmsBaseLayer(),this.options.osm&&this._addOsmBaseLayer(),t=[],e=this._isFitFromResource(),this.options.webmapId&&x(t,this.options.webmapId,{fit:e}),this.options.resources&&Array.isArray(this.options.resources))for(r=0,n=this.options.resources;r<n.length;r++)o=n[r],i={},e||(i.fit=!1),x(t,o,{},i);s=0,a=t,l.label=2;case 2:if(!(s<a.length))return[3,7];c=a[s],l.label=3;case 3:return l.trys.push([3,5,,6]),[4,this.addNgwLayer(c)];case 4:return l.sent(),[3,6];case 5:return u=l.sent(),console.warn(u),[3,6];case 6:return s++,[3,2];case 7:return this._emitStatusEvent("ngw-map:create",this),this.enableSelection(),[2]}}))}))},S.prototype._addOsmBaseLayer=function(){this.addBaseLayer("OSM")},S.prototype._addQmsBaseLayer=function(){var t,e;Array.isArray(this.options.qmsId)?(t=this.options.qmsId[0],e=this.options.qmsId[1]):t=Number(this.options.qmsId);var r={qmsId:t};e&&(r.id=e),this.addBaseLayer("QMS",r)},S.prototype._selectFromNgwVector=function(t){var e,r=t.layer;if(r.options.selectable&&this.isLayerVisible(r)){var n=r.item&&r.item.resource.id,o=t.feature;if(void 0!==n&&o){var i=o.id;if(i){var s={id:Number(i),fields:o.properties||{},label:"#".concat(n),layerId:Number(n),parent:"",geom:o.geometry},a=((e={featureCount:1})[n]={featureCount:1,features:[s]},e);return this._emitStatusEvent("ngw:select",this._prepareToIdentify(N(N({},a),{resources:[n],sourceType:"vector"}))),a}}}},S.prototype._selectFromNgwRaster=function(t){return O(this,void 0,void 0,(function(){var e,r,n,o,i,s,a,c,u,l,p,h,f,y,d,m,w=this;return F(this,(function(v){switch(v.label){case 0:for(this._emitStatusEvent("ngw:preselect"),e=[],(r=Object.values(this._ngwLayers)).sort((function(t,e){return t.layer.order&&e.layer.order?e.layer.order-t.layer.order:1})),n=0,o=r;n<o.length;n++)(s="function"==typeof(i=o[n].layer).getIdentificationIds&&i.getIdentificationIds)&&i.options.selectable&&this.isLayerVisible(i)&&e.push(s.call(i));return[4,Promise.all(e)];case 1:for(a=v.sent(),c=[],u=0,l=a;u<l.length;u++)(p=l[u])&&c.push.apply(c,p);return c.length?(h=this.options.pixelRadius||10,f=this.getCenter(),y=void 0!==(y=this.getZoom())?y:20,f&&y?(d=function(t,e,r){return(r=null!=r?r:10)*(40075016.686*Math.abs(Math.cos(180*t[1]/Math.PI))/Math.pow(2,e+8))*5e-4}(f,y,h),m=g(t,{layers:c,connector:this.connector,radius:d}).then((function(e){return w._emitStatusEvent("ngw:select",w._prepareToIdentify(N(N({},e),{resources:c,sourceType:"raster",event:t}))),e})),this._addPromise("select",m),[2,m]):(this._emitStatusEvent("ngw:select",null),[2])):(this._emitStatusEvent("ngw:select",null),[2])}}))}))},S.prototype._prepareToIdentify=function(t){var e=this;return N(N({},t),{getIdentifyItems:function(){return y(t,!0).map((function(t){return d({feature:t.feature,connector:e.connector})}))}})},S.prototype._getSelectListenersCount=function(){return this.emitter.listenerCount("ngw:select")},S.prototype._whiteLabel=function(){return O(this,void 0,void 0,(function(){var t,e;return F(this,(function(r){switch(r.label){case 0:return(t=this.getContainer())?[4,w(this.connector,this.options.companyLogoOptions)]:[3,2];case 1:(e=r.sent())&&t.appendChild(e),r.label=2;case 2:return[2]}}))}))},S.getIcon=b,S}(s);function R(t){return O(this,void 0,void 0,(function(){return F(this,(function(e){return[2,new S(t).onLoad()]}))}))}export{S as NgwMap,R as createNgwMap};
|
|
1
|
+
import{EventEmitter as t}from"events";import e from"@nextgis/cancelable-promise";import{deepmerge as r,isObject as n,defined as o,deprecatedWarn as i,getIdentifyRadius as s}from"@nextgis/utils";import{WebMap as a}from"@nextgis/webmap";export*from"@nextgis/webmap";import{NgwKit as c,fetchNgwLayerItem as u,fetchNgwLayerItems as l,fetchNgwLayerFeature as p,fetchNgwLayerFeatureCollection as h,fetchIdentifyItem as f,fetchIdentifyGeoJson as y,getIdentifyItems as d,createIdentifyItem as m,createNgwLayerAdapter as g,sendIdentifyRequest as v,getCompanyLogo as w,fetchNgwResourceExtent as b}from"@nextgis/ngw-kit";import{getIcon as L}from"@nextgis/icons";import _ from"@nextgis/ngw-connector";import{QmsKit as I}from"@nextgis/qms-kit";var N=function(t,e){return N=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},N(t,e)};var O=function(){return O=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},O.apply(this,arguments)};function F(t,e,r,n){return new(r||(r=Promise))((function(o,i){function s(t){try{c(n.next(t))}catch(e){i(e)}}function a(t){try{c(n.throw(t))}catch(e){i(e)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}c((n=n.apply(t,e||[])).next())}))}function x(t,e){var r,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(a){i=[6,a],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}function $(t,e,r,n){if("number"==typeof e||"string"==typeof e)e=Number(e),t.push(O(O({},r),{resource:e}));else if(Array.isArray(e)){var o=e[0],i=e[1];t.push(O(O(O({},r),{resource:o,id:i}),n))}else"object"==typeof e&&t.push(O(O(O({},r),e),n))}var S={target:"map",baseUrl:"",whitlabel:!1,controls:["ZOOM","ATTRIBUTION"],controlsOptions:{ZOOM:{position:"top-left"},ATTRIBUTION:{position:"bottom-right",customAttribution:['<a href="https://nextgis.com" target="_blank">©NextGIS</a>']}},pixelRadius:10};var R=function(a){function R(e){var n=a.call(this,function(t){var e=[new I];return t.starterKits&&t.starterKits.forEach((function(t){e.push(t)})),t.connector?t.connector&&(t.baseUrl=t.connector.options.baseUrl):t.connector=new _({baseUrl:t.baseUrl||"",auth:t.auth}),(t=r(S,t)).center||t.bounds||(t.bounds=[-179,-90,180,90]),t.connector&&e.push(new c({connector:t.connector,auth:t.auth})),O(O({},t),{starterKits:e,create:!1})}(e))||this;return n.emitter=new t,n._ngwLayers={},n._promises={select:[],identify:[]},e.connector&&(n.connector=e.connector),n._createWebMap().then((function(){var t=n.getContainer();t&&t.classList.add("ngw-map-container"),n.options.whitlabel&&n._whiteLabel()})),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}N(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(R,a),R.prototype.addControl=function(t,e,r){return F(this,void 0,void 0,(function(){return x(this,(function(n){switch(n.label){case 0:return[4,this.onLoad("controls:create")];case 1:return n.sent(),[2,a.prototype.addControl.call(this,t,e,r)]}}))}))},R.prototype.addNgwLayer=function(t){return F(this,void 0,void 0,(function(){var e,r,s,a,c,u,l,p,h;return x(this,(function(f){switch(f.label){case 0:return[4,this.onMapLoad()];case 1:if(f.sent(),r=t.resourceId,((e=t.keyname)||void 0!==r)&&i("set `resource` options instead of `keyname` or `resourceId`"),s=t.resource,!e&&!r&&!s)throw new Error("resource, resourceId or keyname is required parameter to add NGW layer");if(!o(this.options.baseUrl))return[3,5];f.label=2;case 2:return f.trys.push([2,4,,5]),o(this.options.setViewDelay)&&(t.adapterOptions=t.adapterOptions||{},o(t.adapterOptions.setViewDelay)||(t.adapterOptions.setViewDelay=this.options.setViewDelay)),a=g(t,this,this.connector),c=O(O({visibility:!0},t),t.adapterOptions),[4,this.addLayer(a,c)];case 3:return u=f.sent(),l=u&&this.getLayerId(u),u&&l&&(this._ngwLayers[l]={layer:u,resourceId:u.resourceId},u.options.name=u.options.name||u.item&&u.item.resource.display_name,u.options.baselayer&&this.getActiveBaseLayer()),[2,u];case 4:return p=f.sent(),h=n(s)&&"id"in s?s.id:e||r||s,console.error("Can't add NGW layer ".concat(h,"."),p),[3,5];case 5:return[2]}}))}))},R.prototype.fit=function(){var t=this.options,e=t.center,r=t.zoom,n=t.bounds;e?(this.setCenter(e),r&&this.setZoom(r)):n&&this.fitBounds(n)},R.prototype.fetchNgwLayerItem=function(t){return u(O({connector:this.connector},t))},R.prototype.fetchNgwLayerItems=function(t){return l(O({connector:this.connector},t))},R.prototype.fetchNgwLayerFeature=function(t){return p(O({connector:this.connector},t))},R.prototype.fetchNgwLayerFeatures=function(t){return h(O({connector:this.connector},t))},R.prototype.fetchIdentifyItem=function(t,e){var r=f({identify:t,connector:this.connector,requestOptions:e});return this._addPromise("identify",r),r},R.prototype.fetchIdentifyGeoJson=function(t,r){void 0===r&&(r=!1);var n=y({identify:t,connector:this.connector,multiple:r});return n&&"then"in n?(this._addPromise("identify",n),n):e.resolve(n)},R.prototype.getIdentifyGeoJson=function(t,e){return void 0===e&&(e=!1),this.fetchIdentifyGeoJson(t,e)},R.prototype.getNgwLayers=function(){return F(this,void 0,void 0,(function(){return x(this,(function(t){switch(t.label){case 0:return[4,this.onLoad()];case 1:return t.sent(),[2,this._ngwLayers]}}))}))},R.prototype.getNgwLayerByResourceId=function(t){return F(this,void 0,void 0,(function(){var e,r,n,o,i,s,a;return x(this,(function(c){switch(c.label){case 0:for(r in e=[],this._ngwLayers)e.push(r);n=0,c.label=1;case 1:return n<e.length?(o=this._ngwLayers[e[n]]).resourceId!==t?[3,2]:[2,o&&o.layer]:[3,6];case 2:return o.layer.getIdentificationIds?[4,o.layer.getIdentificationIds()]:[3,4];case 3:if((i=c.sent())&&i.some((function(e){return e===t})))return[2,o.layer];c.label=4;case 4:if(o.layer.getDependLayers&&(s=o.layer.getDependLayers(),a=s.find((function(e){return e.item&&e.item.parentId===t}))))return[2,a.layer];c.label=5;case 5:return n++,[3,1];case 6:return[2]}}))}))},R.prototype.fitLayer=function(t,e){return F(this,void 0,void 0,(function(){var r,n,o,i,s=this;return x(this,(function(c){switch(c.label){case 0:return r="string"==typeof t||"number"==typeof t?String(r):t.id,(n=r&&this._ngwLayers[r])?n.layer.getBounds?[4,n.layer.getBounds()]:[3,2]:[3,7];case 1:return(o=c.sent())&&this.fitBounds(o,e),[3,6];case 2:return i=void 0,n.layer.item?(i=n.layer.item,[3,5]):[3,3];case 3:return[4,this.connector.getResource(n.resourceId)];case 4:i=c.sent(),c.label=5;case 5:i&&b(i,this.connector).then((function(t){t&&s.fitBounds(t,e)})),c.label=6;case 6:return[3,8];case 7:a.prototype.fitLayer.call(this,t,e),c.label=8;case 8:return[2]}}))}))},R.prototype.zoomToLayer=function(t){return F(this,void 0,void 0,(function(){return x(this,(function(e){return[2,this.fitLayer(t)]}))}))},R.prototype.onLoad=function(t){return void 0===t&&(t="ngw-map:create"),a.prototype.onLoad.call(this,t)},R.prototype.removeLayer=function(t){var e=this.getLayer(t);if(e){var r=this.getLayerId(e);r&&delete this._ngwLayers[r],a.prototype.removeLayer.call(this,e)}},R.prototype.enableSelection=function(){var t=this;this.$$selectFromNgwRaster||(this.$$selectFromNgwRaster=function(e){t._getSelectListenersCount()&&t.selectFromNgwRaster(e)},this.$$selectFromNgwVector=function(e){t._getSelectListenersCount()&&t._selectFromNgwVector(e)},this.emitter.on("click",this.$$selectFromNgwRaster),this.emitter.on("layer:click",this.$$selectFromNgwVector))},R.prototype.disableSelection=function(){this.$$selectFromNgwRaster&&(this.emitter.removeListener("click",this.$$selectFromNgwRaster),this.$$selectFromNgwRaster=void 0),this.$$selectFromNgwVector&&(this.emitter.removeListener("layer:click",this.$$selectFromNgwVector),this.$$selectFromNgwVector=void 0)},R.prototype.getNgwLayerItem=function(t){return this.fetchNgwLayerItem(t)},R.prototype.getNgwLayerItems=function(t){return this.fetchNgwLayerItems(t)},R.prototype.getNgwLayerFeature=function(t){return this.fetchNgwLayerFeature(t)},R.prototype.getNgwLayerFeatures=function(t){return this.fetchNgwLayerFeatures(t)},R.prototype.cancelPromise=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];this.cancelPromises.apply(this,t)},R.prototype.cancelPromises=function(){for(var t=this,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];e.length||(e=Object.keys(this._promises)),e.forEach((function(e){var r=t._promises[e];r&&(r.forEach((function(t){return t.cancel()})),t._promises[e]=[])}))},R.prototype.selectFromNgwRaster=function(t){return F(this,void 0,void 0,(function(){var e,r,n,o,i,a,c,u,l,p,h,f,y,d,m,g,w=this;return x(this,(function(b){switch(b.label){case 0:for(this._emitStatusEvent("ngw:preselect"),e=[],(r=Object.values(this._ngwLayers)).sort((function(t,e){return t.layer.order&&e.layer.order?e.layer.order-t.layer.order:1})),n=0,o=r;n<o.length;n++)(a="function"==typeof(i=o[n].layer).getIdentificationIds&&i.getIdentificationIds)&&i.options.selectable&&this.isLayerVisible(i)&&e.push(a.call(i));return[4,Promise.all(e)];case 1:for(c=b.sent(),u=[],l=0,p=c;l<p.length;l++)(h=p[l])&&u.push.apply(u,h);return u.length?(f=this.options.pixelRadius||10,y=this.getCenter(),d=void 0!==(d=this.getZoom())?d:20,y&&d?(m=s(y,d,f),g=v(t,{layers:u,connector:this.connector,radius:m}).then((function(e){var r=O(O({},e),{resources:u,sourceType:"raster",event:t}),n=w._prepareToIdentify(r);return w._emitStatusEvent("ngw:select",r),n})),this._addPromise("select",g),[2,g]):(this._emitStatusEvent("ngw:select",null),[2])):(this._emitStatusEvent("ngw:select",null),[2])}}))}))},R.prototype._addPromise=function(t,e){var r=this._promises[t];if(r&&-1===r.indexOf(e)){var n=function(){var t=r.indexOf(e);-1!==t&&r.splice(t,1)};e.then(n),e.catch(n),r.push(e)}},R.prototype._isFitFromResource=function(){var t=this._initMapState;return!t.zoom||!t.center},R.prototype._createWebMap=function(){return F(this,void 0,void 0,(function(){var t,e,r,n,o,i,s,a,c,u;return x(this,(function(l){switch(l.label){case 0:return[4,this.create()];case 1:if(l.sent(),this.options.qmsId&&this._addQmsBaseLayer(),this.options.osm&&this._addOsmBaseLayer(),t=[],e=this._isFitFromResource(),this.options.webmapId&&$(t,this.options.webmapId,{fit:e}),this.options.resources&&Array.isArray(this.options.resources))for(r=0,n=this.options.resources;r<n.length;r++)o=n[r],i={},e||(i.fit=!1),$(t,o,{},i);s=0,a=t,l.label=2;case 2:if(!(s<a.length))return[3,7];c=a[s],l.label=3;case 3:return l.trys.push([3,5,,6]),[4,this.addNgwLayer(c)];case 4:return l.sent(),[3,6];case 5:return u=l.sent(),console.warn(u),[3,6];case 6:return s++,[3,2];case 7:return this._emitStatusEvent("ngw-map:create",this),this.enableSelection(),[2]}}))}))},R.prototype._addOsmBaseLayer=function(){this.addBaseLayer("OSM")},R.prototype._addQmsBaseLayer=function(){var t,e;Array.isArray(this.options.qmsId)?(t=this.options.qmsId[0],e=this.options.qmsId[1]):t=Number(this.options.qmsId);var r={qmsId:t};e&&(r.id=e),this.addBaseLayer("QMS",r)},R.prototype._selectFromNgwVector=function(t){var e,r=t.layer;if(r.options.selectable&&this.isLayerVisible(r)){var n=r.item&&r.item.resource.id,o=t.feature;if(void 0!==n&&o){var i=o.id;if(i){var s={id:Number(i),fields:o.properties||{},label:"#".concat(n),layerId:Number(n),parent:"",geom:o.geometry},a=((e={featureCount:1})[n]={featureCount:1,features:[s]},e);return this._emitStatusEvent("ngw:select",this._prepareToIdentify(O(O({},a),{resources:[n],sourceType:"vector"}))),a}}}},R.prototype._prepareToIdentify=function(t){var e=this;return O(O({},t),{getIdentifyItems:function(){return d(t,!0).map((function(t){return m({feature:t.feature,connector:e.connector})}))}})},R.prototype._getSelectListenersCount=function(){return this.emitter.listenerCount("ngw:select")},R.prototype._whiteLabel=function(){return F(this,void 0,void 0,(function(){var t,e;return x(this,(function(r){switch(r.label){case 0:return(t=this.getContainer())?[4,w(this.connector,this.options.companyLogoOptions)]:[3,2];case 1:(e=r.sent())&&t.appendChild(e),r.label=2;case 2:return[2]}}))}))},R.getIcon=L,R}(a);function k(t){return F(this,void 0,void 0,(function(){return x(this,(function(e){return[2,new R(t).onLoad()]}))}))}export{R as NgwMap,k as createNgwMap};
|
|
2
2
|
//# sourceMappingURL=ngw-map.esm-bundler.prod.js.map
|