@progress/kendo-angular-map 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +11 -0
- package/NOTICE.txt +654 -0
- package/README.md +31 -0
- package/bundles/kendo-angular-map.umd.js +5 -0
- package/common/collection-item.component.d.ts +39 -0
- package/common/collection.component.d.ts +27 -0
- package/common/collection.service.d.ts +31 -0
- package/common/configuration.service.d.ts +32 -0
- package/common/copy-changes.d.ts +11 -0
- package/common/map-instance-observer.d.ts +12 -0
- package/common/settings.component.d.ts +37 -0
- package/common/to-simple-changes.d.ts +11 -0
- package/esm2015/common/collection-item.component.js +59 -0
- package/esm2015/common/collection.component.js +51 -0
- package/esm2015/common/collection.service.js +33 -0
- package/esm2015/common/configuration.service.js +58 -0
- package/esm2015/common/copy-changes.js +21 -0
- package/esm2015/common/map-instance-observer.js +19 -0
- package/esm2015/common/settings.component.js +58 -0
- package/esm2015/common/to-simple-changes.js +18 -0
- package/esm2015/events/base-event.js +22 -0
- package/esm2015/events/before-reset-event.js +16 -0
- package/esm2015/events/instance-event.service.js +32 -0
- package/esm2015/events/map-click-event.js +18 -0
- package/esm2015/events/marker-activate-event.js +18 -0
- package/esm2015/events/marker-click-event.js +18 -0
- package/esm2015/events/marker-created-event.js +20 -0
- package/esm2015/events/pan-end-event.js +19 -0
- package/esm2015/events/pan-event.js +19 -0
- package/esm2015/events/preventable-event.js +39 -0
- package/esm2015/events/reset-event.js +18 -0
- package/esm2015/events/shape-click-event.js +19 -0
- package/esm2015/events/shape-created-event.js +18 -0
- package/esm2015/events/shape-feature-created-event.js +20 -0
- package/esm2015/events/shape-mouse-enter-event.js +22 -0
- package/esm2015/events/shape-mouse-leave-event.js +22 -0
- package/esm2015/events/zoom-end-event.js +17 -0
- package/esm2015/events/zoom-start-event.js +19 -0
- package/esm2015/events.js +19 -0
- package/esm2015/kendo-angular-map.js +8 -0
- package/esm2015/main.js +14 -0
- package/esm2015/map/bubble-layer.component.js +59 -0
- package/esm2015/map/layer/tooltip.component.js +35 -0
- package/esm2015/map/layer.component.js +57 -0
- package/esm2015/map/layers.component.js +36 -0
- package/esm2015/map/marker-layer.component.js +53 -0
- package/esm2015/map/shape-layer.component.js +49 -0
- package/esm2015/map/tile-layer.component.js +51 -0
- package/esm2015/map.component.js +353 -0
- package/esm2015/map.directives.js +25 -0
- package/esm2015/map.module.js +32 -0
- package/esm2015/package-metadata.js +15 -0
- package/events/base-event.d.ts +21 -0
- package/events/before-reset-event.d.ts +16 -0
- package/events/instance-event.service.d.ts +11 -0
- package/events/map-click-event.d.ts +24 -0
- package/events/marker-activate-event.d.ts +24 -0
- package/events/marker-click-event.d.ts +24 -0
- package/events/marker-created-event.d.ts +26 -0
- package/events/pan-end-event.d.ts +28 -0
- package/events/pan-event.d.ts +28 -0
- package/events/preventable-event.d.ts +28 -0
- package/events/reset-event.d.ts +18 -0
- package/events/shape-click-event.d.ts +29 -0
- package/events/shape-created-event.d.ts +25 -0
- package/events/shape-feature-created-event.d.ts +33 -0
- package/events/shape-mouse-enter-event.d.ts +32 -0
- package/events/shape-mouse-leave-event.d.ts +32 -0
- package/events/zoom-end-event.d.ts +20 -0
- package/events/zoom-start-event.d.ts +22 -0
- package/events.d.ts +19 -0
- package/fesm2015/kendo-angular-map.js +1240 -0
- package/kendo-angular-map.d.ts +9 -0
- package/main.d.ts +14 -0
- package/map/bubble-layer.component.d.ts +29 -0
- package/map/layer/tooltip.component.d.ts +21 -0
- package/map/layer.component.d.ts +35 -0
- package/map/layers.component.d.ts +20 -0
- package/map/marker-layer.component.d.ts +25 -0
- package/map/shape-layer.component.d.ts +24 -0
- package/map/tile-layer.component.d.ts +24 -0
- package/map.component.d.ts +214 -0
- package/map.directives.d.ts +16 -0
- package/map.module.d.ts +22 -0
- package/package-metadata.d.ts +9 -0
- package/package.json +86 -0
- package/schematics/collection.json +12 -0
- package/schematics/ngAdd/index.js +21 -0
- package/schematics/ngAdd/index.js.map +1 -0
- package/schematics/ngAdd/schema.json +28 -0
|
@@ -0,0 +1,1240 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import * as i0 from '@angular/core';
|
|
6
|
+
import { Injectable, SimpleChange, Directive, TemplateRef, Component, ChangeDetectionStrategy, ContentChild, SecurityContext, Input, forwardRef, EventEmitter, Output, ViewChild, ContentChildren, NgModule } from '@angular/core';
|
|
7
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
8
|
+
import * as i3 from '@angular/platform-browser';
|
|
9
|
+
import * as i4 from '@progress/kendo-angular-common';
|
|
10
|
+
import { isDocumentAvailable, hasObservers, ResizeSensorModule } from '@progress/kendo-angular-common';
|
|
11
|
+
import * as i3$1 from '@progress/kendo-angular-l10n';
|
|
12
|
+
import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
13
|
+
import { InstanceObserver, Map } from '@progress/kendo-charts';
|
|
14
|
+
export { Extent, Location } from '@progress/kendo-charts';
|
|
15
|
+
import { validatePackage } from '@progress/kendo-licensing';
|
|
16
|
+
import { tap } from 'rxjs/operators';
|
|
17
|
+
import { CommonModule } from '@angular/common';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @hidden
|
|
21
|
+
*/
|
|
22
|
+
class Change {
|
|
23
|
+
constructor(key, value) {
|
|
24
|
+
this.key = key;
|
|
25
|
+
this.value = value;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @hidden
|
|
30
|
+
*/
|
|
31
|
+
class ConfigurationService {
|
|
32
|
+
constructor(ngZone) {
|
|
33
|
+
this.ngZone = ngZone;
|
|
34
|
+
this.store = {};
|
|
35
|
+
this.source = new BehaviorSubject({});
|
|
36
|
+
this.initSource();
|
|
37
|
+
}
|
|
38
|
+
initSource() {
|
|
39
|
+
this.changes = this.source.asObservable();
|
|
40
|
+
}
|
|
41
|
+
push(store) {
|
|
42
|
+
this.store = store;
|
|
43
|
+
this.next();
|
|
44
|
+
}
|
|
45
|
+
notify(change) {
|
|
46
|
+
this.set(change.key, change.value);
|
|
47
|
+
this.next();
|
|
48
|
+
}
|
|
49
|
+
set(field, value) {
|
|
50
|
+
let store = this.store;
|
|
51
|
+
const parts = field.split('.');
|
|
52
|
+
let key = parts.shift();
|
|
53
|
+
while (parts.length > 0) {
|
|
54
|
+
store = store[key] = store[key] || {};
|
|
55
|
+
key = parts.shift();
|
|
56
|
+
}
|
|
57
|
+
store[key] = value;
|
|
58
|
+
}
|
|
59
|
+
next() {
|
|
60
|
+
this.ngZone.runOutsideAngular(() => {
|
|
61
|
+
this.source.next(this.store);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
ConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
66
|
+
ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationService });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationService, decorators: [{
|
|
68
|
+
type: Injectable
|
|
69
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* @hidden
|
|
73
|
+
*/
|
|
74
|
+
class ItemChange {
|
|
75
|
+
constructor(sender, options) {
|
|
76
|
+
this.sender = sender;
|
|
77
|
+
this.options = options;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* @hidden
|
|
82
|
+
*/
|
|
83
|
+
class CollectionService {
|
|
84
|
+
constructor() {
|
|
85
|
+
this.source = new Subject();
|
|
86
|
+
this.itemChanges = this.source.asObservable();
|
|
87
|
+
}
|
|
88
|
+
notify(change) {
|
|
89
|
+
this.source.next(change);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
CollectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CollectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
93
|
+
CollectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CollectionService });
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CollectionService, decorators: [{
|
|
95
|
+
type: Injectable
|
|
96
|
+
}], ctorParameters: function () { return []; } });
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @hidden
|
|
100
|
+
*/
|
|
101
|
+
function copyChanges(changes, options) {
|
|
102
|
+
for (const propertyName in changes) {
|
|
103
|
+
if (!changes.hasOwnProperty(propertyName)) {
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
const value = changes[propertyName].currentValue;
|
|
107
|
+
if (value === undefined) {
|
|
108
|
+
delete options[propertyName];
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
options[propertyName] = value;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* @hidden
|
|
118
|
+
*/
|
|
119
|
+
function toSimpleChanges(changes) {
|
|
120
|
+
const result = {};
|
|
121
|
+
for (const propertyName in changes) {
|
|
122
|
+
if (!changes.hasOwnProperty(propertyName)) {
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
result[propertyName] = new SimpleChange(null, changes[propertyName], false);
|
|
126
|
+
}
|
|
127
|
+
return result;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* @hidden
|
|
132
|
+
*/
|
|
133
|
+
class CollectionItemComponent {
|
|
134
|
+
constructor(configurationService, collectionService) {
|
|
135
|
+
this.configurationService = configurationService;
|
|
136
|
+
this.collectionService = collectionService;
|
|
137
|
+
this.options = {};
|
|
138
|
+
this.subscription = configurationService.changes.subscribe(store => {
|
|
139
|
+
this.options = store;
|
|
140
|
+
this.notify();
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
ngOnChanges(changes) {
|
|
144
|
+
const store = this.configurationService.store;
|
|
145
|
+
copyChanges(changes, store);
|
|
146
|
+
this.configurationService.push(store);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Updates the component fields with the specified values and refreshes the Chart.
|
|
150
|
+
*
|
|
151
|
+
* Use this method when the configuration values cannot be set through the template.
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```ts-no-run
|
|
155
|
+
* item.notifyChanges({ visible: true });
|
|
156
|
+
* ```
|
|
157
|
+
*
|
|
158
|
+
* @param changes An object containing the updated input fields.
|
|
159
|
+
*/
|
|
160
|
+
notifyChanges(changes) {
|
|
161
|
+
this.ngOnChanges(toSimpleChanges(changes));
|
|
162
|
+
}
|
|
163
|
+
ngOnDestroy() {
|
|
164
|
+
this.subscription.unsubscribe();
|
|
165
|
+
}
|
|
166
|
+
notify() {
|
|
167
|
+
if (!this.collectionService) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
this.collectionService.notify(new ItemChange(this, this.options));
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
CollectionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CollectionItemComponent, deps: [{ token: ConfigurationService }, { token: CollectionService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
174
|
+
CollectionItemComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: CollectionItemComponent, usesOnChanges: true, ngImport: i0 });
|
|
175
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CollectionItemComponent, decorators: [{
|
|
176
|
+
type: Directive
|
|
177
|
+
}], ctorParameters: function () { return [{ type: ConfigurationService }, { type: CollectionService }]; } });
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* @hidden
|
|
181
|
+
*/
|
|
182
|
+
class SettingsComponent {
|
|
183
|
+
constructor(configKey, configurationService) {
|
|
184
|
+
this.configKey = configKey;
|
|
185
|
+
this.configurationService = configurationService;
|
|
186
|
+
this.store = {};
|
|
187
|
+
if (configKey === undefined) {
|
|
188
|
+
throw new Error('Configuration key not set');
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
ngOnDestroy() {
|
|
192
|
+
this.store = undefined;
|
|
193
|
+
this.notify();
|
|
194
|
+
}
|
|
195
|
+
ngOnChanges(changes) {
|
|
196
|
+
copyChanges(changes, this.store);
|
|
197
|
+
this.notify();
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Updates the component fields with the specified values and refreshes the component.
|
|
201
|
+
*
|
|
202
|
+
* Use this method when the configuration values cannot be set through the template.
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```ts-no-run
|
|
206
|
+
* item.notifyChanges({ visible: true });
|
|
207
|
+
* ```
|
|
208
|
+
*
|
|
209
|
+
* @param changes An object containing the updated input fields.
|
|
210
|
+
*/
|
|
211
|
+
notifyChanges(changes) {
|
|
212
|
+
this.ngOnChanges(toSimpleChanges(changes));
|
|
213
|
+
}
|
|
214
|
+
markAsVisible() {
|
|
215
|
+
this.store.visible = true;
|
|
216
|
+
this.notify();
|
|
217
|
+
}
|
|
218
|
+
notify() {
|
|
219
|
+
this.configurationService.notify(new Change(this.configKey, this.store));
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
SettingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SettingsComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
223
|
+
SettingsComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SettingsComponent, usesOnChanges: true, ngImport: i0 });
|
|
224
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SettingsComponent, decorators: [{
|
|
225
|
+
type: Directive
|
|
226
|
+
}], ctorParameters: function () { return [{ type: undefined }, { type: ConfigurationService }]; } });
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* The configuration options of the Map layer tooltip.
|
|
230
|
+
*
|
|
231
|
+
* @hidden
|
|
232
|
+
*/
|
|
233
|
+
class LayerTooltipComponent extends SettingsComponent {
|
|
234
|
+
constructor(configurationService) {
|
|
235
|
+
super('tooltip', configurationService);
|
|
236
|
+
this.configurationService = configurationService;
|
|
237
|
+
}
|
|
238
|
+
get layerTooltipTemplateRef() {
|
|
239
|
+
return this.layerTooltipTemplate;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
LayerTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LayerTooltipComponent, deps: [{ token: ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
243
|
+
LayerTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: LayerTooltipComponent, selector: "kendo-map-layer-tooltip", queries: [{ propertyName: "layerTooltipTemplate", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
244
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LayerTooltipComponent, decorators: [{
|
|
245
|
+
type: Component,
|
|
246
|
+
args: [{
|
|
247
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
248
|
+
selector: 'kendo-map-layer-tooltip',
|
|
249
|
+
template: ''
|
|
250
|
+
}]
|
|
251
|
+
}], ctorParameters: function () { return [{ type: ConfigurationService }]; }, propDecorators: { layerTooltipTemplate: [{
|
|
252
|
+
type: ContentChild,
|
|
253
|
+
args: [TemplateRef, { static: false }]
|
|
254
|
+
}] } });
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* @hidden
|
|
258
|
+
*/
|
|
259
|
+
class LayerComponent extends CollectionItemComponent {
|
|
260
|
+
constructor(type, configurationService, collectionService, sanitizer) {
|
|
261
|
+
super(configurationService, collectionService);
|
|
262
|
+
this.type = type;
|
|
263
|
+
this.configurationService = configurationService;
|
|
264
|
+
this.collectionService = collectionService;
|
|
265
|
+
this.sanitizer = sanitizer;
|
|
266
|
+
}
|
|
267
|
+
ngOnChanges(changes) {
|
|
268
|
+
const store = this.configurationService.store;
|
|
269
|
+
store.type = this.type;
|
|
270
|
+
const attrChange = changes['attribution'];
|
|
271
|
+
if (attrChange && this.sanitizer) {
|
|
272
|
+
attrChange.currentValue = this.sanitizer.sanitize(SecurityContext.HTML, attrChange.currentValue);
|
|
273
|
+
}
|
|
274
|
+
super.ngOnChanges(changes);
|
|
275
|
+
}
|
|
276
|
+
get layerTooltipTemplateRef() {
|
|
277
|
+
if (this.layerTooltip) {
|
|
278
|
+
return this.layerTooltip.layerTooltipTemplateRef;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
LayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LayerComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
283
|
+
LayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: LayerComponent, inputs: { attribution: "attribution", extent: "extent", maxZoom: "maxZoom", minZoom: "minZoom", opacity: "opacity", zIndex: "zIndex" }, queries: [{ propertyName: "layerTooltip", first: true, predicate: LayerTooltipComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
284
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LayerComponent, decorators: [{
|
|
285
|
+
type: Directive
|
|
286
|
+
}], ctorParameters: function () { return [{ type: undefined }, { type: ConfigurationService }, { type: CollectionService }, { type: i3.DomSanitizer }]; }, propDecorators: { attribution: [{
|
|
287
|
+
type: Input
|
|
288
|
+
}], extent: [{
|
|
289
|
+
type: Input
|
|
290
|
+
}], maxZoom: [{
|
|
291
|
+
type: Input
|
|
292
|
+
}], minZoom: [{
|
|
293
|
+
type: Input
|
|
294
|
+
}], opacity: [{
|
|
295
|
+
type: Input
|
|
296
|
+
}], zIndex: [{
|
|
297
|
+
type: Input
|
|
298
|
+
}], layerTooltip: [{
|
|
299
|
+
type: ContentChild,
|
|
300
|
+
args: [LayerTooltipComponent, { static: false }]
|
|
301
|
+
}] } });
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* A vector shape layer for bubble maps.
|
|
305
|
+
*/
|
|
306
|
+
class BubbleLayerComponent extends LayerComponent {
|
|
307
|
+
constructor(configurationService, collectionService, sanitizer) {
|
|
308
|
+
super('bubble', configurationService, collectionService, sanitizer);
|
|
309
|
+
this.configurationService = configurationService;
|
|
310
|
+
this.collectionService = collectionService;
|
|
311
|
+
this.sanitizer = sanitizer;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
BubbleLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BubbleLayerComponent, deps: [{ token: ConfigurationService }, { token: CollectionService }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
315
|
+
BubbleLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: BubbleLayerComponent, selector: "kendo-map-bubble-layer", inputs: { data: "data", locationField: "locationField", valueField: "valueField", symbol: "symbol", style: "style", maxSize: "maxSize", minSize: "minSize" }, providers: [
|
|
316
|
+
ConfigurationService,
|
|
317
|
+
{
|
|
318
|
+
provide: LayerComponent,
|
|
319
|
+
useExisting: forwardRef(() => BubbleLayerComponent)
|
|
320
|
+
}
|
|
321
|
+
], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
322
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BubbleLayerComponent, decorators: [{
|
|
323
|
+
type: Component,
|
|
324
|
+
args: [{
|
|
325
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
326
|
+
providers: [
|
|
327
|
+
ConfigurationService,
|
|
328
|
+
{
|
|
329
|
+
provide: LayerComponent,
|
|
330
|
+
useExisting: forwardRef(() => BubbleLayerComponent)
|
|
331
|
+
}
|
|
332
|
+
],
|
|
333
|
+
selector: 'kendo-map-bubble-layer',
|
|
334
|
+
template: ''
|
|
335
|
+
}]
|
|
336
|
+
}], ctorParameters: function () { return [{ type: ConfigurationService }, { type: CollectionService }, { type: i3.DomSanitizer }]; }, propDecorators: { data: [{
|
|
337
|
+
type: Input
|
|
338
|
+
}], locationField: [{
|
|
339
|
+
type: Input
|
|
340
|
+
}], valueField: [{
|
|
341
|
+
type: Input
|
|
342
|
+
}], symbol: [{
|
|
343
|
+
type: Input
|
|
344
|
+
}], style: [{
|
|
345
|
+
type: Input
|
|
346
|
+
}], maxSize: [{
|
|
347
|
+
type: Input
|
|
348
|
+
}], minSize: [{
|
|
349
|
+
type: Input
|
|
350
|
+
}] } });
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
* @hidden
|
|
354
|
+
*/
|
|
355
|
+
class MapInstanceObserver extends InstanceObserver {
|
|
356
|
+
constructor(instance) {
|
|
357
|
+
super(instance);
|
|
358
|
+
this.handlerMap = {
|
|
359
|
+
hideTooltip: 'onHideTooltip',
|
|
360
|
+
init: 'onInit',
|
|
361
|
+
render: 'onRender',
|
|
362
|
+
showTooltip: 'onShowTooltip'
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
/**
|
|
368
|
+
* @hidden
|
|
369
|
+
*/
|
|
370
|
+
class BaseEvent {
|
|
371
|
+
/**
|
|
372
|
+
* @hidden
|
|
373
|
+
*/
|
|
374
|
+
constructor(sender) {
|
|
375
|
+
this.sender = sender;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
BaseEvent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseEvent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
379
|
+
BaseEvent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: BaseEvent, ngImport: i0 });
|
|
380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseEvent, decorators: [{
|
|
381
|
+
type: Directive
|
|
382
|
+
}], ctorParameters: function () { return [{ type: undefined }]; } });
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* Fired immediately before the map is reset. This event is typically used for cleanup by layer implementers.
|
|
386
|
+
*/
|
|
387
|
+
class BeforeResetEvent extends BaseEvent {
|
|
388
|
+
/**
|
|
389
|
+
* @hidden
|
|
390
|
+
*/
|
|
391
|
+
constructor(_, sender) {
|
|
392
|
+
super(sender);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
/**
|
|
397
|
+
* Fired when the user clicks on the map.
|
|
398
|
+
*/
|
|
399
|
+
class MapClickEvent extends BaseEvent {
|
|
400
|
+
/**
|
|
401
|
+
* @hidden
|
|
402
|
+
*/
|
|
403
|
+
constructor(e, sender) {
|
|
404
|
+
super(sender);
|
|
405
|
+
this.location = e.location;
|
|
406
|
+
this.originalEvent = e.originalEvent;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
/**
|
|
411
|
+
* Fired when a marker has been displayed and has a DOM element assigned.
|
|
412
|
+
*/
|
|
413
|
+
class MarkerActivateEvent extends BaseEvent {
|
|
414
|
+
/**
|
|
415
|
+
* @hidden
|
|
416
|
+
*/
|
|
417
|
+
constructor(e, sender) {
|
|
418
|
+
super(sender);
|
|
419
|
+
this.marker = e.marker;
|
|
420
|
+
this.layer = e.layer;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* Fired when a marker has been clicked or tapped.
|
|
426
|
+
*/
|
|
427
|
+
class MarkerClickEvent extends BaseEvent {
|
|
428
|
+
/**
|
|
429
|
+
* @hidden
|
|
430
|
+
*/
|
|
431
|
+
constructor(e, sender) {
|
|
432
|
+
super(sender);
|
|
433
|
+
this.marker = e.marker;
|
|
434
|
+
this.layer = e.layer;
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
/**
|
|
439
|
+
* @hidden
|
|
440
|
+
*/
|
|
441
|
+
class PreventableEvent extends BaseEvent {
|
|
442
|
+
constructor() {
|
|
443
|
+
super(...arguments);
|
|
444
|
+
this.prevented = false;
|
|
445
|
+
}
|
|
446
|
+
/**
|
|
447
|
+
* Prevents the default action for a specified event.
|
|
448
|
+
* In this way, the source component suppresses
|
|
449
|
+
* the built-in behavior that follows the event.
|
|
450
|
+
*/
|
|
451
|
+
preventDefault() {
|
|
452
|
+
this.prevented = true;
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Returns `true` if the event was prevented
|
|
456
|
+
* by any of its subscribers.
|
|
457
|
+
*
|
|
458
|
+
* @returns `true` if the default action was prevented.
|
|
459
|
+
* Otherwise, returns `false`.
|
|
460
|
+
*/
|
|
461
|
+
isDefaultPrevented() {
|
|
462
|
+
return this.prevented;
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
PreventableEvent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreventableEvent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
466
|
+
PreventableEvent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PreventableEvent, usesInheritance: true, ngImport: i0 });
|
|
467
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreventableEvent, decorators: [{
|
|
468
|
+
type: Directive
|
|
469
|
+
}] });
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Fired when a marker has been created and is about to be displayed.
|
|
473
|
+
*
|
|
474
|
+
* Cancelling the event will prevent the marker from being shown.
|
|
475
|
+
*/
|
|
476
|
+
class MarkerCreatedEvent extends PreventableEvent {
|
|
477
|
+
/**
|
|
478
|
+
* @hidden
|
|
479
|
+
*/
|
|
480
|
+
constructor(e, sender) {
|
|
481
|
+
super(sender);
|
|
482
|
+
this.marker = e.marker;
|
|
483
|
+
this.layer = e.layer;
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Fires after the map viewport has been moved.
|
|
489
|
+
*/
|
|
490
|
+
class PanEndEvent extends BaseEvent {
|
|
491
|
+
/**
|
|
492
|
+
* @hidden
|
|
493
|
+
*/
|
|
494
|
+
constructor(e, sender) {
|
|
495
|
+
super(sender);
|
|
496
|
+
this.origin = e.origin;
|
|
497
|
+
this.center = e.center;
|
|
498
|
+
this.originalEvent = e.originalEvent;
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
/**
|
|
503
|
+
* Fired while the map viewport is being moved.
|
|
504
|
+
*/
|
|
505
|
+
class PanEvent extends BaseEvent {
|
|
506
|
+
/**
|
|
507
|
+
* @hidden
|
|
508
|
+
*/
|
|
509
|
+
constructor(e, sender) {
|
|
510
|
+
super(sender);
|
|
511
|
+
this.origin = e.origin;
|
|
512
|
+
this.center = e.center;
|
|
513
|
+
this.originalEvent = e.originalEvent;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* Fired when the map is reset.
|
|
519
|
+
*
|
|
520
|
+
* This typically occurs on initial load and after a zoom/center change.
|
|
521
|
+
*/
|
|
522
|
+
class ResetEvent extends BaseEvent {
|
|
523
|
+
/**
|
|
524
|
+
* @hidden
|
|
525
|
+
*/
|
|
526
|
+
constructor(_, sender) {
|
|
527
|
+
super(sender);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
/**
|
|
532
|
+
* Fired when a shape is clicked or tapped.
|
|
533
|
+
*/
|
|
534
|
+
class ShapeClickEvent extends BaseEvent {
|
|
535
|
+
/**
|
|
536
|
+
* @hidden
|
|
537
|
+
*/
|
|
538
|
+
constructor(e, sender) {
|
|
539
|
+
super(sender);
|
|
540
|
+
this.layer = e.layer;
|
|
541
|
+
this.shape = e.shape;
|
|
542
|
+
this.originalEvent = e.originalEvent;
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
/**
|
|
547
|
+
* Fired when a shape is created, but is not rendered yet.
|
|
548
|
+
*/
|
|
549
|
+
class ShapeCreatedEvent extends BaseEvent {
|
|
550
|
+
/**
|
|
551
|
+
* @hidden
|
|
552
|
+
*/
|
|
553
|
+
constructor(e, sender) {
|
|
554
|
+
super(sender);
|
|
555
|
+
this.layer = e.layer;
|
|
556
|
+
this.shape = e.shape;
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
/**
|
|
561
|
+
* Fired when a [GeoJSON Feature](https://geojson.org/geojson-spec.html#feature-objects) is created on a shape layer.
|
|
562
|
+
*/
|
|
563
|
+
class ShapeFeatureCreatedEvent extends BaseEvent {
|
|
564
|
+
/**
|
|
565
|
+
* @hidden
|
|
566
|
+
*/
|
|
567
|
+
constructor(e, sender) {
|
|
568
|
+
super(sender);
|
|
569
|
+
this.dataItem = e.dataItem;
|
|
570
|
+
this.layer = e.layer;
|
|
571
|
+
this.group = e.group;
|
|
572
|
+
this.properties = e.properties;
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
/**
|
|
577
|
+
* Fired when the mouse enters a shape.
|
|
578
|
+
*
|
|
579
|
+
* > This event will fire reliably only for shapes that have set fill color.
|
|
580
|
+
* > The opacity can still be set to 0 so the shapes appear to have no fill.
|
|
581
|
+
*/
|
|
582
|
+
class ShapeMouseEnterEvent extends BaseEvent {
|
|
583
|
+
/**
|
|
584
|
+
* @hidden
|
|
585
|
+
*/
|
|
586
|
+
constructor(e, sender) {
|
|
587
|
+
super(sender);
|
|
588
|
+
this.layer = e.layer;
|
|
589
|
+
this.shape = e.shape;
|
|
590
|
+
this.originalEvent = e.originalEvent;
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
/**
|
|
595
|
+
* Fired when the mouse leaves a shape.
|
|
596
|
+
*
|
|
597
|
+
* > This event will fire reliably only for shapes that have set fill color.
|
|
598
|
+
* > The opacity can still be set to 0 so the shapes appear to have no fill.
|
|
599
|
+
*/
|
|
600
|
+
class ShapeMouseLeaveEvent extends BaseEvent {
|
|
601
|
+
/**
|
|
602
|
+
* @hidden
|
|
603
|
+
*/
|
|
604
|
+
constructor(e, sender) {
|
|
605
|
+
super(sender);
|
|
606
|
+
this.layer = e.layer;
|
|
607
|
+
this.shape = e.shape;
|
|
608
|
+
this.originalEvent = e.originalEvent;
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
/**
|
|
613
|
+
* Fired when the map zoom level has changed.
|
|
614
|
+
*/
|
|
615
|
+
class ZoomEndEvent extends BaseEvent {
|
|
616
|
+
/**
|
|
617
|
+
* @hidden
|
|
618
|
+
*/
|
|
619
|
+
constructor(e, sender) {
|
|
620
|
+
super(sender);
|
|
621
|
+
this.originalEvent = e.originalEvent;
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
/**
|
|
626
|
+
* Fired when the map zoom level is about to change.
|
|
627
|
+
*
|
|
628
|
+
* Cancelling the event will prevent the user action.
|
|
629
|
+
*/
|
|
630
|
+
class ZoomStartEvent extends PreventableEvent {
|
|
631
|
+
/**
|
|
632
|
+
* @hidden
|
|
633
|
+
*/
|
|
634
|
+
constructor(e, sender) {
|
|
635
|
+
super(sender);
|
|
636
|
+
this.originalEvent = e.originalEvent;
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
const EVENT_MAP = {
|
|
641
|
+
beforeReset: BeforeResetEvent,
|
|
642
|
+
click: MapClickEvent,
|
|
643
|
+
markerActivate: MarkerActivateEvent,
|
|
644
|
+
markerClick: MarkerClickEvent,
|
|
645
|
+
markerCreated: MarkerCreatedEvent,
|
|
646
|
+
panEnd: PanEndEvent,
|
|
647
|
+
pan: PanEvent,
|
|
648
|
+
reset: ResetEvent,
|
|
649
|
+
shapeClick: ShapeClickEvent,
|
|
650
|
+
shapeCreated: ShapeCreatedEvent,
|
|
651
|
+
shapeFeatureCreated: ShapeFeatureCreatedEvent,
|
|
652
|
+
shapeMouseEnter: ShapeMouseEnterEvent,
|
|
653
|
+
shapeMouseLeave: ShapeMouseLeaveEvent,
|
|
654
|
+
zoomEnd: ZoomEndEvent,
|
|
655
|
+
zoomStart: ZoomStartEvent
|
|
656
|
+
};
|
|
657
|
+
/**
|
|
658
|
+
* @hidden
|
|
659
|
+
*/
|
|
660
|
+
class InstanceEventService {
|
|
661
|
+
create(name, args, sender) {
|
|
662
|
+
if (EVENT_MAP[name]) {
|
|
663
|
+
return new EVENT_MAP[name](args, sender);
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
/**
|
|
669
|
+
* @hidden
|
|
670
|
+
*/
|
|
671
|
+
const packageMetadata = {
|
|
672
|
+
name: '@progress/kendo-angular-map',
|
|
673
|
+
productName: 'Kendo UI for Angular',
|
|
674
|
+
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
675
|
+
publishDate: 1651675099,
|
|
676
|
+
version: '',
|
|
677
|
+
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
678
|
+
};
|
|
679
|
+
|
|
680
|
+
/**
|
|
681
|
+
* A sample component
|
|
682
|
+
*/
|
|
683
|
+
class MapComponent {
|
|
684
|
+
constructor(configurationService, instanceEventService, element, localizationService, changeDetector, ngZone, renderer) {
|
|
685
|
+
this.configurationService = configurationService;
|
|
686
|
+
this.instanceEventService = instanceEventService;
|
|
687
|
+
this.element = element;
|
|
688
|
+
this.localizationService = localizationService;
|
|
689
|
+
this.changeDetector = changeDetector;
|
|
690
|
+
this.ngZone = ngZone;
|
|
691
|
+
this.renderer = renderer;
|
|
692
|
+
/**
|
|
693
|
+
* Limits the automatic resizing of the Map. Sets the maximum number of times per second
|
|
694
|
+
* that the component redraws its content when the size of its container changes.
|
|
695
|
+
* Defaults to `10`. To disable the automatic resizing, set it to `0`.
|
|
696
|
+
*
|
|
697
|
+
* @example
|
|
698
|
+
* ```ts
|
|
699
|
+
* _@Component({
|
|
700
|
+
* selector: 'my-app',
|
|
701
|
+
* template: `
|
|
702
|
+
* <kendo-map [resizeRateLimit]="2">
|
|
703
|
+
* <!-- ^^^^^^^^^^^^^^^^^^^^^^
|
|
704
|
+
* Will update the size of the Map up to two times a second.
|
|
705
|
+
* Resize the example pane or window to try it out.
|
|
706
|
+
* -->
|
|
707
|
+
* </kendo-map>
|
|
708
|
+
* `
|
|
709
|
+
* })
|
|
710
|
+
* export class AppComponent {
|
|
711
|
+
* }
|
|
712
|
+
* ```
|
|
713
|
+
*/
|
|
714
|
+
this.resizeRateLimit = 10;
|
|
715
|
+
/**
|
|
716
|
+
* The initial zoom level.
|
|
717
|
+
*
|
|
718
|
+
* Typical web maps use zoom levels from 0 (whole world) to 19 (sub-meter features).
|
|
719
|
+
*
|
|
720
|
+
* The map size is derived from the zoom level and minScale options: `size = (2 ^ zoom) * minSize`
|
|
721
|
+
*
|
|
722
|
+
* > Map zoom rounds floating point numbers. This is done so as the majority of web maps use the whole [`zoom levels`](https://wiki.openstreetmap.org/wiki/Zoom_levels) 0 through to 19.
|
|
723
|
+
*
|
|
724
|
+
* @default 3
|
|
725
|
+
*/
|
|
726
|
+
this.zoom = 3;
|
|
727
|
+
/**
|
|
728
|
+
* Fired immediately before the map is reset. This event is typically used for cleanup by layer implementers.
|
|
729
|
+
*/
|
|
730
|
+
this.beforeReset = new EventEmitter();
|
|
731
|
+
/**
|
|
732
|
+
* Fired when the user clicks on the map.
|
|
733
|
+
*/
|
|
734
|
+
this.mapClick = new EventEmitter();
|
|
735
|
+
/**
|
|
736
|
+
* Fired when a marker has been displayed and has a DOM element assigned.
|
|
737
|
+
*/
|
|
738
|
+
this.markerActivate = new EventEmitter();
|
|
739
|
+
/**
|
|
740
|
+
* Fired when a marker has been clicked or tapped.
|
|
741
|
+
*/
|
|
742
|
+
this.markerClick = new EventEmitter();
|
|
743
|
+
/**
|
|
744
|
+
* Fired when a marker has been created and is about to be displayed.
|
|
745
|
+
*
|
|
746
|
+
* Cancelling the event will prevent the marker from being shown.
|
|
747
|
+
*/
|
|
748
|
+
this.markerCreated = new EventEmitter();
|
|
749
|
+
/**
|
|
750
|
+
* Fires after the map viewport has been moved.
|
|
751
|
+
*/
|
|
752
|
+
this.panEnd = new EventEmitter();
|
|
753
|
+
/**
|
|
754
|
+
* Fired while the map viewport is being moved.
|
|
755
|
+
*/
|
|
756
|
+
this.pan = new EventEmitter();
|
|
757
|
+
/**
|
|
758
|
+
* Fired when the map is reset.
|
|
759
|
+
*
|
|
760
|
+
* This typically occurs on initial load and after a zoom/center change.
|
|
761
|
+
*/
|
|
762
|
+
this.reset = new EventEmitter();
|
|
763
|
+
/**
|
|
764
|
+
* Fired when a shape is clicked or tapped.
|
|
765
|
+
*/
|
|
766
|
+
this.shapeClick = new EventEmitter();
|
|
767
|
+
/**
|
|
768
|
+
* Fired when a shape is created, but is not rendered yet.
|
|
769
|
+
*/
|
|
770
|
+
this.shapeCreated = new EventEmitter();
|
|
771
|
+
/**
|
|
772
|
+
* Fired when a [GeoJSON Feature](https://geojson.org/geojson-spec.html#feature-objects) is created on a shape layer.
|
|
773
|
+
*/
|
|
774
|
+
this.shapeFeatureCreated = new EventEmitter();
|
|
775
|
+
/**
|
|
776
|
+
* Fired when the mouse enters a shape.
|
|
777
|
+
*
|
|
778
|
+
* > This event will fire reliably only for shapes that have set fill color.
|
|
779
|
+
* > The opacity can still be set to 0 so the shapes appear to have no fill.
|
|
780
|
+
*/
|
|
781
|
+
this.shapeMouseEnter = new EventEmitter();
|
|
782
|
+
/**
|
|
783
|
+
* Fired when the mouse leaves a shape.
|
|
784
|
+
*
|
|
785
|
+
* > This event will fire reliably only for shapes that have set fill color.
|
|
786
|
+
* > The opacity can still be set to 0 so the shapes appear to have no fill.
|
|
787
|
+
*/
|
|
788
|
+
this.shapeMouseLeave = new EventEmitter();
|
|
789
|
+
/**
|
|
790
|
+
* Fired when the map zoom level is about to change.
|
|
791
|
+
*
|
|
792
|
+
* Cancelling the event will prevent the user action.
|
|
793
|
+
*/
|
|
794
|
+
this.zoomStart = new EventEmitter();
|
|
795
|
+
/**
|
|
796
|
+
* Fired when the map zoom level has changed.
|
|
797
|
+
*/
|
|
798
|
+
this.zoomEnd = new EventEmitter();
|
|
799
|
+
this.theme = null;
|
|
800
|
+
this.rtl = false;
|
|
801
|
+
validatePackage(packageMetadata);
|
|
802
|
+
}
|
|
803
|
+
ngAfterViewInit() {
|
|
804
|
+
this.setDirection();
|
|
805
|
+
this.initConfig();
|
|
806
|
+
this.subscriptions = this.localizationService.changes.subscribe(() => this.setDirection());
|
|
807
|
+
}
|
|
808
|
+
ngAfterViewChecked() {
|
|
809
|
+
if (this.instance && this.autoResize) {
|
|
810
|
+
this.ngZone.runOutsideAngular(() => {
|
|
811
|
+
clearTimeout(this.resizeTimeout);
|
|
812
|
+
this.resizeTimeout = setTimeout(() => {
|
|
813
|
+
this.resize();
|
|
814
|
+
}, 0);
|
|
815
|
+
});
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
ngOnChanges(changes) {
|
|
819
|
+
const store = this.configurationService.store;
|
|
820
|
+
copyChanges(changes, store);
|
|
821
|
+
store.popupSettings = null;
|
|
822
|
+
this.configurationService.push(store);
|
|
823
|
+
}
|
|
824
|
+
/**
|
|
825
|
+
* Detects the size of the container and redraws the Map.
|
|
826
|
+
* Resizing is automatic unless you set the `resizeRateLimit` option to `0`.
|
|
827
|
+
*/
|
|
828
|
+
resize() {
|
|
829
|
+
if (this.instance) {
|
|
830
|
+
//this.instance.resize();
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
/**
|
|
834
|
+
* @hidden
|
|
835
|
+
*/
|
|
836
|
+
onResize() {
|
|
837
|
+
if (this.autoResize) {
|
|
838
|
+
this.resize();
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
get canRender() {
|
|
842
|
+
return isDocumentAvailable() && Boolean(this.surfaceElement);
|
|
843
|
+
}
|
|
844
|
+
get autoResize() {
|
|
845
|
+
return this.resizeRateLimit > 0;
|
|
846
|
+
}
|
|
847
|
+
init() {
|
|
848
|
+
if (!this.canRender) {
|
|
849
|
+
return;
|
|
850
|
+
}
|
|
851
|
+
const element = this.surfaceElement.nativeElement;
|
|
852
|
+
const instanceObserver = new MapInstanceObserver(this);
|
|
853
|
+
this.createInstance(element, instanceObserver);
|
|
854
|
+
}
|
|
855
|
+
initConfig() {
|
|
856
|
+
if (!isDocumentAvailable()) {
|
|
857
|
+
return;
|
|
858
|
+
}
|
|
859
|
+
this.ngZone.runOutsideAngular(() => {
|
|
860
|
+
this.optionsChange = this.configurationService.changes
|
|
861
|
+
.pipe(tap((result) => {
|
|
862
|
+
this.options = result;
|
|
863
|
+
}))
|
|
864
|
+
.subscribe(() => {
|
|
865
|
+
if (!this.instance) {
|
|
866
|
+
this.init();
|
|
867
|
+
return;
|
|
868
|
+
}
|
|
869
|
+
this.instance.setOptions(this.options);
|
|
870
|
+
});
|
|
871
|
+
});
|
|
872
|
+
}
|
|
873
|
+
createInstance(element, observer) {
|
|
874
|
+
this.instance = new Map(element, this.options, this.theme, {
|
|
875
|
+
observer: observer,
|
|
876
|
+
rtl: this.rtl,
|
|
877
|
+
sender: this
|
|
878
|
+
});
|
|
879
|
+
}
|
|
880
|
+
activeEmitter(name) {
|
|
881
|
+
const alias = name === 'click' ? 'mapClick' : name;
|
|
882
|
+
const emitter = this[alias];
|
|
883
|
+
if (emitter && emitter.emit && hasObservers(emitter)) {
|
|
884
|
+
return emitter;
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
trigger(name, e) {
|
|
888
|
+
const emitter = this.activeEmitter(name);
|
|
889
|
+
if (emitter) {
|
|
890
|
+
const args = this.instanceEventService.create(name, e, this);
|
|
891
|
+
this.run(() => {
|
|
892
|
+
emitter.emit(args);
|
|
893
|
+
});
|
|
894
|
+
return args.isDefaultPrevented && args.isDefaultPrevented();
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
run(callback, inZone = true, detectChanges) {
|
|
898
|
+
if (inZone) {
|
|
899
|
+
if (detectChanges) {
|
|
900
|
+
this.changeDetector.markForCheck();
|
|
901
|
+
}
|
|
902
|
+
this.ngZone.run(callback);
|
|
903
|
+
}
|
|
904
|
+
else {
|
|
905
|
+
callback();
|
|
906
|
+
if (detectChanges) {
|
|
907
|
+
this.detectChanges();
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
}
|
|
911
|
+
detectChanges() {
|
|
912
|
+
if (!this.destroyed) {
|
|
913
|
+
this.changeDetector.detectChanges();
|
|
914
|
+
}
|
|
915
|
+
}
|
|
916
|
+
setDirection() {
|
|
917
|
+
this.rtl = this.isRTL;
|
|
918
|
+
if (this.element) {
|
|
919
|
+
this.renderer.setAttribute(this.element.nativeElement, 'dir', this.rtl ? 'rtl' : 'ltr');
|
|
920
|
+
}
|
|
921
|
+
}
|
|
922
|
+
get isRTL() {
|
|
923
|
+
return Boolean(this.localizationService.rtl);
|
|
924
|
+
}
|
|
925
|
+
}
|
|
926
|
+
MapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapComponent, deps: [{ token: ConfigurationService }, { token: InstanceEventService }, { token: i0.ElementRef }, { token: i3$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
927
|
+
MapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: MapComponent, selector: "kendo-map", inputs: { resizeRateLimit: "resizeRateLimit", center: "center", controls: "controls", minZoom: "minZoom", maxZoom: "maxZoom", minSize: "minSize", pannable: "pannable", wraparound: "wraparound", zoom: "zoom", zoomable: "zoomable" }, outputs: { beforeReset: "beforeReset", mapClick: "mapClick", markerActivate: "markerActivate", markerClick: "markerClick", markerCreated: "markerCreated", panEnd: "panEnd", pan: "pan", reset: "reset", shapeClick: "shapeClick", shapeCreated: "shapeCreated", shapeFeatureCreated: "shapeFeatureCreated", shapeMouseEnter: "shapeMouseEnter", shapeMouseLeave: "shapeMouseLeave", zoomStart: "zoomStart", zoomEnd: "zoomEnd" }, providers: [
|
|
928
|
+
ConfigurationService,
|
|
929
|
+
InstanceEventService,
|
|
930
|
+
LocalizationService,
|
|
931
|
+
{
|
|
932
|
+
provide: L10N_PREFIX,
|
|
933
|
+
useValue: 'kendo.map'
|
|
934
|
+
}
|
|
935
|
+
], viewQueries: [{ propertyName: "surfaceElement", first: true, predicate: ["surface"], descendants: true, static: true }], exportAs: ["kendoChart"], usesOnChanges: true, ngImport: i0, template: `
|
|
936
|
+
<div #surface></div>
|
|
937
|
+
<kendo-resize-sensor (resize)="onResize()" [rateLimit]="resizeRateLimit"></kendo-resize-sensor>
|
|
938
|
+
`, isInline: true, components: [{ type: i4.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
939
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapComponent, decorators: [{
|
|
940
|
+
type: Component,
|
|
941
|
+
args: [{
|
|
942
|
+
selector: 'kendo-map',
|
|
943
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
944
|
+
exportAs: 'kendoChart',
|
|
945
|
+
providers: [
|
|
946
|
+
ConfigurationService,
|
|
947
|
+
InstanceEventService,
|
|
948
|
+
LocalizationService,
|
|
949
|
+
{
|
|
950
|
+
provide: L10N_PREFIX,
|
|
951
|
+
useValue: 'kendo.map'
|
|
952
|
+
}
|
|
953
|
+
],
|
|
954
|
+
template: `
|
|
955
|
+
<div #surface></div>
|
|
956
|
+
<kendo-resize-sensor (resize)="onResize()" [rateLimit]="resizeRateLimit"></kendo-resize-sensor>
|
|
957
|
+
`
|
|
958
|
+
}]
|
|
959
|
+
}], ctorParameters: function () { return [{ type: ConfigurationService }, { type: InstanceEventService }, { type: i0.ElementRef }, { type: i3$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { resizeRateLimit: [{
|
|
960
|
+
type: Input
|
|
961
|
+
}], center: [{
|
|
962
|
+
type: Input
|
|
963
|
+
}], controls: [{
|
|
964
|
+
type: Input
|
|
965
|
+
}], minZoom: [{
|
|
966
|
+
type: Input
|
|
967
|
+
}], maxZoom: [{
|
|
968
|
+
type: Input
|
|
969
|
+
}], minSize: [{
|
|
970
|
+
type: Input
|
|
971
|
+
}], pannable: [{
|
|
972
|
+
type: Input
|
|
973
|
+
}], wraparound: [{
|
|
974
|
+
type: Input
|
|
975
|
+
}], zoom: [{
|
|
976
|
+
type: Input
|
|
977
|
+
}], zoomable: [{
|
|
978
|
+
type: Input
|
|
979
|
+
}], beforeReset: [{
|
|
980
|
+
type: Output
|
|
981
|
+
}], mapClick: [{
|
|
982
|
+
type: Output
|
|
983
|
+
}], markerActivate: [{
|
|
984
|
+
type: Output
|
|
985
|
+
}], markerClick: [{
|
|
986
|
+
type: Output
|
|
987
|
+
}], markerCreated: [{
|
|
988
|
+
type: Output
|
|
989
|
+
}], panEnd: [{
|
|
990
|
+
type: Output
|
|
991
|
+
}], pan: [{
|
|
992
|
+
type: Output
|
|
993
|
+
}], reset: [{
|
|
994
|
+
type: Output
|
|
995
|
+
}], shapeClick: [{
|
|
996
|
+
type: Output
|
|
997
|
+
}], shapeCreated: [{
|
|
998
|
+
type: Output
|
|
999
|
+
}], shapeFeatureCreated: [{
|
|
1000
|
+
type: Output
|
|
1001
|
+
}], shapeMouseEnter: [{
|
|
1002
|
+
type: Output
|
|
1003
|
+
}], shapeMouseLeave: [{
|
|
1004
|
+
type: Output
|
|
1005
|
+
}], zoomStart: [{
|
|
1006
|
+
type: Output
|
|
1007
|
+
}], zoomEnd: [{
|
|
1008
|
+
type: Output
|
|
1009
|
+
}], surfaceElement: [{
|
|
1010
|
+
type: ViewChild,
|
|
1011
|
+
args: ['surface', { static: true }]
|
|
1012
|
+
}] } });
|
|
1013
|
+
|
|
1014
|
+
/**
|
|
1015
|
+
* @hidden
|
|
1016
|
+
*/
|
|
1017
|
+
class CollectionComponent {
|
|
1018
|
+
constructor(configKey, configurationService, collectionService) {
|
|
1019
|
+
this.configKey = configKey;
|
|
1020
|
+
this.configurationService = configurationService;
|
|
1021
|
+
this.collectionService = collectionService;
|
|
1022
|
+
this.items = [];
|
|
1023
|
+
this.subscription = collectionService.itemChanges.subscribe(changes => this.processChanges(changes));
|
|
1024
|
+
}
|
|
1025
|
+
ngOnDestroy() {
|
|
1026
|
+
this.subscription.unsubscribe();
|
|
1027
|
+
}
|
|
1028
|
+
ngAfterContentInit() {
|
|
1029
|
+
this.readItems();
|
|
1030
|
+
this.children.changes.subscribe(() => this.readItems());
|
|
1031
|
+
}
|
|
1032
|
+
processChanges(changes) {
|
|
1033
|
+
if (!this.children) {
|
|
1034
|
+
return;
|
|
1035
|
+
}
|
|
1036
|
+
const index = this.children.toArray().indexOf(changes.sender);
|
|
1037
|
+
if (index < 0) {
|
|
1038
|
+
return;
|
|
1039
|
+
}
|
|
1040
|
+
this.items[index] = changes.options;
|
|
1041
|
+
this.change();
|
|
1042
|
+
}
|
|
1043
|
+
readItems() {
|
|
1044
|
+
this.items = this.children.map(s => s.options);
|
|
1045
|
+
this.change();
|
|
1046
|
+
}
|
|
1047
|
+
change() {
|
|
1048
|
+
this.configurationService.notify(new Change(this.configKey, this.items.length === 0 ? undefined : this.items));
|
|
1049
|
+
}
|
|
1050
|
+
}
|
|
1051
|
+
CollectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CollectionComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
1052
|
+
CollectionComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: CollectionComponent, ngImport: i0 });
|
|
1053
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CollectionComponent, decorators: [{
|
|
1054
|
+
type: Directive
|
|
1055
|
+
}], ctorParameters: function () { return [{ type: undefined }, { type: ConfigurationService }, { type: CollectionService }]; } });
|
|
1056
|
+
|
|
1057
|
+
/**
|
|
1058
|
+
* A collection of one or more layers.
|
|
1059
|
+
*/
|
|
1060
|
+
class LayersComponent extends CollectionComponent {
|
|
1061
|
+
constructor(configurationService, collectionService) {
|
|
1062
|
+
super('layers', configurationService, collectionService);
|
|
1063
|
+
this.configurationService = configurationService;
|
|
1064
|
+
this.collectionService = collectionService;
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
1067
|
+
LayersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LayersComponent, deps: [{ token: ConfigurationService }, { token: CollectionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1068
|
+
LayersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: LayersComponent, selector: "kendo-map-layers", providers: [CollectionService], queries: [{ propertyName: "children", predicate: LayerComponent }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1069
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LayersComponent, decorators: [{
|
|
1070
|
+
type: Component,
|
|
1071
|
+
args: [{
|
|
1072
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1073
|
+
providers: [CollectionService],
|
|
1074
|
+
selector: 'kendo-map-layers',
|
|
1075
|
+
template: ''
|
|
1076
|
+
}]
|
|
1077
|
+
}], ctorParameters: function () { return [{ type: ConfigurationService }, { type: CollectionService }]; }, propDecorators: { children: [{
|
|
1078
|
+
type: ContentChildren,
|
|
1079
|
+
args: [LayerComponent]
|
|
1080
|
+
}] } });
|
|
1081
|
+
|
|
1082
|
+
/**
|
|
1083
|
+
* A vector shape layer for bubble maps.
|
|
1084
|
+
*/
|
|
1085
|
+
class MarkerLayerComponent extends LayerComponent {
|
|
1086
|
+
constructor(configurationService, collectionService, sanitizer) {
|
|
1087
|
+
super('marker', configurationService, collectionService, sanitizer);
|
|
1088
|
+
this.configurationService = configurationService;
|
|
1089
|
+
this.collectionService = collectionService;
|
|
1090
|
+
this.sanitizer = sanitizer;
|
|
1091
|
+
}
|
|
1092
|
+
}
|
|
1093
|
+
MarkerLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MarkerLayerComponent, deps: [{ token: ConfigurationService }, { token: CollectionService }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
1094
|
+
MarkerLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: MarkerLayerComponent, selector: "kendo-map-marker-layer", inputs: { data: "data", locationField: "locationField", titleField: "titleField", shape: "shape" }, providers: [
|
|
1095
|
+
ConfigurationService,
|
|
1096
|
+
{
|
|
1097
|
+
provide: LayerComponent,
|
|
1098
|
+
useExisting: forwardRef(() => MarkerLayerComponent)
|
|
1099
|
+
}
|
|
1100
|
+
], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MarkerLayerComponent, decorators: [{
|
|
1102
|
+
type: Component,
|
|
1103
|
+
args: [{
|
|
1104
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1105
|
+
providers: [
|
|
1106
|
+
ConfigurationService,
|
|
1107
|
+
{
|
|
1108
|
+
provide: LayerComponent,
|
|
1109
|
+
useExisting: forwardRef(() => MarkerLayerComponent)
|
|
1110
|
+
}
|
|
1111
|
+
],
|
|
1112
|
+
selector: 'kendo-map-marker-layer',
|
|
1113
|
+
template: ''
|
|
1114
|
+
}]
|
|
1115
|
+
}], ctorParameters: function () { return [{ type: ConfigurationService }, { type: CollectionService }, { type: i3.DomSanitizer }]; }, propDecorators: { data: [{
|
|
1116
|
+
type: Input
|
|
1117
|
+
}], locationField: [{
|
|
1118
|
+
type: Input
|
|
1119
|
+
}], titleField: [{
|
|
1120
|
+
type: Input
|
|
1121
|
+
}], shape: [{
|
|
1122
|
+
type: Input
|
|
1123
|
+
}] } });
|
|
1124
|
+
|
|
1125
|
+
/**
|
|
1126
|
+
* Defines a vector shape layer bound to GeoJSON data.
|
|
1127
|
+
*/
|
|
1128
|
+
class ShapeLayerComponent extends LayerComponent {
|
|
1129
|
+
constructor(configurationService, collectionService, sanitizer) {
|
|
1130
|
+
super('shape', configurationService, collectionService, sanitizer);
|
|
1131
|
+
this.configurationService = configurationService;
|
|
1132
|
+
this.collectionService = collectionService;
|
|
1133
|
+
this.sanitizer = sanitizer;
|
|
1134
|
+
}
|
|
1135
|
+
}
|
|
1136
|
+
ShapeLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ShapeLayerComponent, deps: [{ token: ConfigurationService }, { token: CollectionService }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
1137
|
+
ShapeLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ShapeLayerComponent, selector: "kendo-map-shape-layer", inputs: { data: "data", style: "style" }, providers: [
|
|
1138
|
+
ConfigurationService,
|
|
1139
|
+
{
|
|
1140
|
+
provide: LayerComponent,
|
|
1141
|
+
useExisting: forwardRef(() => ShapeLayerComponent)
|
|
1142
|
+
}
|
|
1143
|
+
], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ShapeLayerComponent, decorators: [{
|
|
1145
|
+
type: Component,
|
|
1146
|
+
args: [{
|
|
1147
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1148
|
+
providers: [
|
|
1149
|
+
ConfigurationService,
|
|
1150
|
+
{
|
|
1151
|
+
provide: LayerComponent,
|
|
1152
|
+
useExisting: forwardRef(() => ShapeLayerComponent)
|
|
1153
|
+
}
|
|
1154
|
+
],
|
|
1155
|
+
selector: 'kendo-map-shape-layer',
|
|
1156
|
+
template: ''
|
|
1157
|
+
}]
|
|
1158
|
+
}], ctorParameters: function () { return [{ type: ConfigurationService }, { type: CollectionService }, { type: i3.DomSanitizer }]; }, propDecorators: { data: [{
|
|
1159
|
+
type: Input
|
|
1160
|
+
}], style: [{
|
|
1161
|
+
type: Input
|
|
1162
|
+
}] } });
|
|
1163
|
+
|
|
1164
|
+
/**
|
|
1165
|
+
* Defines a vector shape layer bound to GeoJSON data.
|
|
1166
|
+
*/
|
|
1167
|
+
class TileLayerComponent extends LayerComponent {
|
|
1168
|
+
constructor(configurationService, collectionService, sanitizer) {
|
|
1169
|
+
super('tile', configurationService, collectionService, sanitizer);
|
|
1170
|
+
this.configurationService = configurationService;
|
|
1171
|
+
this.collectionService = collectionService;
|
|
1172
|
+
this.sanitizer = sanitizer;
|
|
1173
|
+
}
|
|
1174
|
+
}
|
|
1175
|
+
TileLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TileLayerComponent, deps: [{ token: ConfigurationService }, { token: CollectionService }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
1176
|
+
TileLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TileLayerComponent, selector: "kendo-map-tile-layer", inputs: { tileSize: "tileSize", subdomains: "subdomains", urlTemplate: "urlTemplate" }, providers: [
|
|
1177
|
+
ConfigurationService,
|
|
1178
|
+
{
|
|
1179
|
+
provide: LayerComponent,
|
|
1180
|
+
useExisting: forwardRef(() => TileLayerComponent)
|
|
1181
|
+
}
|
|
1182
|
+
], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1183
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TileLayerComponent, decorators: [{
|
|
1184
|
+
type: Component,
|
|
1185
|
+
args: [{
|
|
1186
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1187
|
+
providers: [
|
|
1188
|
+
ConfigurationService,
|
|
1189
|
+
{
|
|
1190
|
+
provide: LayerComponent,
|
|
1191
|
+
useExisting: forwardRef(() => TileLayerComponent)
|
|
1192
|
+
}
|
|
1193
|
+
],
|
|
1194
|
+
selector: 'kendo-map-tile-layer',
|
|
1195
|
+
template: ''
|
|
1196
|
+
}]
|
|
1197
|
+
}], ctorParameters: function () { return [{ type: ConfigurationService }, { type: CollectionService }, { type: i3.DomSanitizer }]; }, propDecorators: { tileSize: [{
|
|
1198
|
+
type: Input
|
|
1199
|
+
}], subdomains: [{
|
|
1200
|
+
type: Input
|
|
1201
|
+
}], urlTemplate: [{
|
|
1202
|
+
type: Input
|
|
1203
|
+
}] } });
|
|
1204
|
+
|
|
1205
|
+
/**
|
|
1206
|
+
* @hidden
|
|
1207
|
+
*/
|
|
1208
|
+
const MAP_DIRECTIVES = [
|
|
1209
|
+
MapComponent,
|
|
1210
|
+
LayersComponent,
|
|
1211
|
+
BubbleLayerComponent,
|
|
1212
|
+
MarkerLayerComponent,
|
|
1213
|
+
ShapeLayerComponent,
|
|
1214
|
+
TileLayerComponent,
|
|
1215
|
+
LayerTooltipComponent
|
|
1216
|
+
];
|
|
1217
|
+
|
|
1218
|
+
/**
|
|
1219
|
+
* Sample module
|
|
1220
|
+
*/
|
|
1221
|
+
class MapModule {
|
|
1222
|
+
}
|
|
1223
|
+
MapModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1224
|
+
MapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapModule, declarations: [MapComponent, LayersComponent, BubbleLayerComponent, MarkerLayerComponent, ShapeLayerComponent, TileLayerComponent, LayerTooltipComponent], imports: [CommonModule, ResizeSensorModule], exports: [MapComponent, LayersComponent, BubbleLayerComponent, MarkerLayerComponent, ShapeLayerComponent, TileLayerComponent, LayerTooltipComponent] });
|
|
1225
|
+
MapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapModule, imports: [[CommonModule, ResizeSensorModule]] });
|
|
1226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapModule, decorators: [{
|
|
1227
|
+
type: NgModule,
|
|
1228
|
+
args: [{
|
|
1229
|
+
declarations: [MAP_DIRECTIVES],
|
|
1230
|
+
imports: [CommonModule, ResizeSensorModule],
|
|
1231
|
+
exports: [MAP_DIRECTIVES]
|
|
1232
|
+
}]
|
|
1233
|
+
}] });
|
|
1234
|
+
|
|
1235
|
+
/**
|
|
1236
|
+
* Generated bundle index. Do not edit.
|
|
1237
|
+
*/
|
|
1238
|
+
|
|
1239
|
+
export { BeforeResetEvent, BubbleLayerComponent, LayerTooltipComponent, LayersComponent, MapClickEvent, MapComponent, MapModule, MarkerActivateEvent, MarkerClickEvent, MarkerCreatedEvent, MarkerLayerComponent, PanEndEvent, PanEvent, ResetEvent, ShapeClickEvent, ShapeCreatedEvent, ShapeFeatureCreatedEvent, ShapeLayerComponent, ShapeMouseEnterEvent, ShapeMouseLeaveEvent, TileLayerComponent, ZoomEndEvent, ZoomStartEvent };
|
|
1240
|
+
|