@sswroom/sswr 1.5.3 → 1.5.5

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/Changelog CHANGED
@@ -1,3 +1,23 @@
1
+ 1.5.5
2
+ -Fixed web.Dialog in iframe
3
+ -Fixed GeolocationFilter when using minDistMeter
4
+ -Added data.ByteReader
5
+ -Added media.StaticImage
6
+ -Added media.EXIFData
7
+ -Added media.loadImageFromBlob
8
+ -Added text.u8Arr2Hex
9
+ -Added web.propertiesToHTML
10
+ -Support parsing JPG file
11
+ -Support parsing WEBP file
12
+ -web.openData Support Blob
13
+
14
+ 1.5.4
15
+ -Added geometry.Vector2D.getBounds
16
+ -Added kml.Feature.getBounds
17
+ -Added leaflet.toLatLngBounds
18
+ -Added math.RectArea.unionInPlace
19
+ -Added math.RectArea.unionPointInPlace
20
+
1
21
  1.5.3
2
22
  -Fixed parser file type handling
3
23
 
package/cesium.js CHANGED
@@ -462,8 +462,21 @@ export class CesiumMap extends map.MapControl
462
462
  {
463
463
  this.viewer.camera.flyTo({destination: Cesium.Cartesian3.fromDegrees(pos.x, pos.y, scale), duration:0});
464
464
  }
465
- /* zoomToExtent(extent: math.RectArea): void;
466
- handleMouseLClick(clickFunc: (mapPos: math.Coord2D, scnPos: math.Coord2D)=>void): void;
465
+
466
+ zoomToExtent(extent)
467
+ {
468
+ const zoomRatio = 500000000;
469
+ let center = extent.getCenter();
470
+ let xScale = (extent.max.x - extent.min.x) / this.viewer.canvas.width * zoomRatio;
471
+ let yScale = (extent.max.y - extent.min.y) / this.viewer.canvas.height * zoomRatio;
472
+ if (yScale > xScale)
473
+ {
474
+ xScale = yScale;
475
+ }
476
+ this.viewer.camera.flyTo({destination: Cesium.Cartesian3.fromDegrees(center.x, center.y, xScale), duration:0});
477
+ }
478
+
479
+ /* handleMouseLClick(clickFunc: (mapPos: math.Coord2D, scnPos: math.Coord2D)=>void): void;
467
480
  handleMouseMove(moveFunc: (mapPos: math.Coord2D)=>void): void;
468
481
  handlePosChange(posFunc: (mapPos: math.Coord2D)=>void): void;
469
482
  map2ScnPos(mapPos: math.Coord2D): math.Coord2D;
package/data.d.ts CHANGED
@@ -176,3 +176,30 @@ export class Timestamp {
176
176
  toTimeValue(): TimeValue;
177
177
  roundToS(): Timestamp;
178
178
  }
179
+
180
+ export class ByteReader
181
+ {
182
+ view: DataView;
183
+
184
+ constructor(arr: ArrayBuffer);
185
+ getLength(): number;
186
+ getArrayBuffer(ofst: number, size: number): ArrayBuffer;
187
+
188
+ readUInt8(ofst: number): number;
189
+ readUInt16(ofst: number, lsb: boolean): number;
190
+ readUInt32(ofst: number, lsb: boolean): number;
191
+ readInt8(ofst: number): number;
192
+ readInt16(ofst: number, lsb: boolean): number;
193
+ readInt32(ofst: number, lsb: boolean): number;
194
+ readFloat64(ofst: number, lsb: boolean): number;
195
+ readUTF8(ofst: number, len: number): string;
196
+ readUTF8Z(ofst: number, maxSize?: number): string;
197
+
198
+ readUInt8Arr(ofst: number, cnt: number): number[];
199
+ readUInt16Arr(ofst: number, lsb: boolean, cnt: number): number[];
200
+ readUInt32Arr(ofst: number, lsb: boolean, cnt: number): number[];
201
+ readInt8Arr(ofst: number, cnt: number): number[];
202
+ readInt16Arr(ofst: number, lsb: boolean, cnt: number): number[];
203
+ readInt32Arr(ofst: number, lsb: boolean, cnt: number): number[];
204
+ readFloat64Arr(ofst: number, lsb: boolean, cnt: number): number[];
205
+ }
package/data.js CHANGED
@@ -2292,3 +2292,163 @@ export class Timestamp
2292
2292
  return new Timestamp(this.inst.roundToS(), this.tzQhr);
2293
2293
  }
2294
2294
  }
2295
+
2296
+ export class ByteReader
2297
+ {
2298
+ constructor(arr)
2299
+ {
2300
+ this.view = new DataView(arr);
2301
+ }
2302
+
2303
+ getLength()
2304
+ {
2305
+ return this.view.byteLength;
2306
+ }
2307
+
2308
+ getArrayBuffer(ofst, size)
2309
+ {
2310
+ if (ofst == null)
2311
+ ofst = 0;
2312
+ if (size == null)
2313
+ size = this.view.byteLength - ofst;
2314
+ return this.view.buffer.slice(this.view.byteOffset + ofst, this.view.byteOffset + ofst + size);
2315
+ }
2316
+
2317
+ readUInt8(ofst)
2318
+ {
2319
+ return this.view.getUint8(ofst);
2320
+ }
2321
+
2322
+ readUInt16(ofst, lsb)
2323
+ {
2324
+ return this.view.getUint16(ofst, lsb);
2325
+ }
2326
+
2327
+ readUInt32(ofst, lsb)
2328
+ {
2329
+ return this.view.getUint32(ofst, lsb);
2330
+ }
2331
+
2332
+ readInt8(ofst)
2333
+ {
2334
+ return this.view.getInt8(ofst);
2335
+ }
2336
+
2337
+ readInt16(ofst, lsb)
2338
+ {
2339
+ return this.view.getInt16(ofst, lsb);
2340
+ }
2341
+
2342
+ readInt32(ofst, lsb)
2343
+ {
2344
+ return this.view.getInt32(ofst, lsb);
2345
+ }
2346
+
2347
+ readFloat64(ofst, lsb)
2348
+ {
2349
+ return this.view.getFloat64(ofst, lsb);
2350
+ }
2351
+
2352
+ readUTF8(ofst, len)
2353
+ {
2354
+ let dec = new TextDecoder();
2355
+ return dec.decode(this.getArrayBuffer(ofst, len));
2356
+ }
2357
+
2358
+ readUTF8Z(ofst, maxSize)
2359
+ {
2360
+ let end = ofst;
2361
+ let maxEnd;
2362
+ if (maxSize)
2363
+ {
2364
+ maxEnd = ofst + maxSize;
2365
+ if (maxEnd > this.view.byteLength)
2366
+ maxEnd = this.view.byteLength;
2367
+ }
2368
+ else
2369
+ {
2370
+ maxEnd = this.view.byteLength;
2371
+ }
2372
+ while (end < maxEnd && this.view.getUint8(end) != 0)
2373
+ end++;
2374
+ let dec = new TextDecoder();
2375
+ return dec.decode(this.view.buffer.slice(this.view.byteOffset + ofst, this.view.byteOffset + end));
2376
+ }
2377
+
2378
+ readUInt8Arr(ofst, cnt)
2379
+ {
2380
+ let ret = [];
2381
+ while (cnt-- > 0)
2382
+ {
2383
+ ret.push(this.readUInt8(ofst));
2384
+ ofst++;
2385
+ }
2386
+ return ret;
2387
+ }
2388
+
2389
+ readUInt16Arr(ofst, lsb, cnt)
2390
+ {
2391
+ let ret = [];
2392
+ while (cnt-- > 0)
2393
+ {
2394
+ ret.push(this.readUInt16(ofst, lsb));
2395
+ ofst += 2;
2396
+ }
2397
+ return ret;
2398
+ }
2399
+
2400
+ readUInt32Arr(ofst, lsb, cnt)
2401
+ {
2402
+ let ret = [];
2403
+ while (cnt-- > 0)
2404
+ {
2405
+ ret.push(this.readUInt32(ofst, lsb));
2406
+ ofst += 4;
2407
+ }
2408
+ return ret;
2409
+ }
2410
+
2411
+ readInt8Arr(ofst, cnt)
2412
+ {
2413
+ let ret = [];
2414
+ while (cnt-- > 0)
2415
+ {
2416
+ ret.push(this.readInt8(ofst));
2417
+ ofst++;
2418
+ }
2419
+ return ret;
2420
+ }
2421
+
2422
+ readInt16Arr(ofst, lsb, cnt)
2423
+ {
2424
+ let ret = [];
2425
+ while (cnt-- > 0)
2426
+ {
2427
+ ret.push(this.readInt16(ofst, lsb));
2428
+ ofst += 2;
2429
+ }
2430
+ return ret;
2431
+ }
2432
+
2433
+ readInt32Arr(ofst, lsb, cnt)
2434
+ {
2435
+ let ret = [];
2436
+ while (cnt-- > 0)
2437
+ {
2438
+ ret.push(this.readInt32(ofst, lsb));
2439
+ ofst += 4;
2440
+ }
2441
+ return ret;
2442
+ }
2443
+
2444
+ readFloat64Arr(ofst, lsb, cnt)
2445
+ {
2446
+ let ret = [];
2447
+ while (cnt-- > 0)
2448
+ {
2449
+ ret.push(this.readFloat64(ofst, lsb));
2450
+ ofst += 8;
2451
+ }
2452
+ return ret;
2453
+ }
2454
+ }
package/geometry.d.ts CHANGED
@@ -40,6 +40,7 @@ export class Vector2D {
40
40
  type: VectorType;
41
41
  constructor(srid: number);
42
42
  insideOrTouch(coord: math.Coord2D): boolean;
43
+ getBounds(): math.RectArea;
43
44
  };
44
45
 
45
46
  export class Point extends Vector2D
@@ -47,6 +48,7 @@ export class Point extends Vector2D
47
48
  coordinates: number[];
48
49
  constructor(srid: number, coordinates: number[] | math.Coord2D | math.Vector3);
49
50
  insideOrTouch(coord: math.Coord2D): boolean;
51
+ getBounds(): math.RectArea;
50
52
  }
51
53
 
52
54
 
@@ -56,6 +58,7 @@ export class LineString extends Vector2D
56
58
  constructor(srid: number, coordinates: number[][]);
57
59
  calBoundaryPoint(coord: math.Coord2D): BoundaryPointResult;
58
60
  insideOrTouch(coord: math.Coord2D): boolean;
61
+ getBounds(): math.RectArea;
59
62
  }
60
63
 
61
64
  export class LinearRing extends LineString
@@ -76,6 +79,7 @@ export class MultiGeometry<VecType> extends Vector2D
76
79
  constructor(srid: number);
77
80
  calBoundaryPoint(coord: math.Coord2D): BoundaryPointResult;
78
81
  insideOrTouch(coord: math.Coord2D): boolean;
82
+ getBounds(): math.RectArea;
79
83
  }
80
84
 
81
85
  export class Polygon extends MultiGeometry<LinearRing>
package/geometry.js CHANGED
@@ -52,6 +52,11 @@ export class Point extends Vector2D
52
52
  {
53
53
  return this.coordinates[0] == coord.x && this.coordinates[1] == coord.y;
54
54
  }
55
+
56
+ getBounds()
57
+ {
58
+ return new math.RectArea(this.coordinates[0], this.coordinates[1], this.coordinates[0], this.coordinates[1]);
59
+ }
55
60
  }
56
61
 
57
62
  export class LineString extends Vector2D
@@ -226,6 +231,17 @@ export class LineString extends Vector2D
226
231
  }
227
232
  return false;
228
233
  }
234
+
235
+ getBounds()
236
+ {
237
+ let bounds = new math.RectArea(this.coordinates[0][0], this.coordinates[0][1], this.coordinates[0][0], this.coordinates[0][1]);
238
+ let i;
239
+ for (i in this.coordinates)
240
+ {
241
+ bounds.unionPointInPlace(this.coordinates[i][0], this.coordinates[i][1]);
242
+ }
243
+ return bounds;
244
+ }
229
245
  }
230
246
 
231
247
  export class LinearRing extends LineString
@@ -364,6 +380,29 @@ export class MultiGeometry extends Vector2D
364
380
  }
365
381
  return false;
366
382
  }
383
+
384
+ getBounds()
385
+ {
386
+ if (this.geometries.length == 0)
387
+ {
388
+ return null;
389
+ }
390
+ let bounds;
391
+ let thisBounds;
392
+ let i;
393
+ for (i in this.geometries)
394
+ {
395
+ thisBounds = this.geometries[i].getBounds();
396
+ if (thisBounds)
397
+ {
398
+ if (bounds)
399
+ bounds.unionInPlace(thisBounds);
400
+ else
401
+ bounds = thisBounds;
402
+ }
403
+ }
404
+ return bounds;
405
+ }
367
406
  }
368
407
 
369
408
  export class Polygon extends MultiGeometry
package/kml.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as data from "./data";
2
2
  import * as geometry from "./geometry";
3
+ import * as math from "./math";
3
4
  import * as web from "./web";
4
5
 
5
6
  export enum AltitudeMode
@@ -40,6 +41,21 @@ export enum HotSpotUnit
40
41
  InsetPixels
41
42
  };
42
43
 
44
+ export enum RefreshMode
45
+ {
46
+ OnChange,
47
+ OnInterval,
48
+ OnExpire
49
+ };
50
+
51
+ export enum ViewRefreshMode
52
+ {
53
+ Never,
54
+ OnStop,
55
+ OnRequest,
56
+ OnRegion
57
+ };
58
+
43
59
  export class Element
44
60
  {
45
61
  getUsedNS(ns: object): void;
@@ -214,6 +230,7 @@ export class Feature extends Element
214
230
  visibility: boolean;
215
231
  open: boolean;
216
232
  author: string;
233
+ authorName: string;
217
234
  link: string;
218
235
  address: string;
219
236
  //AddressDetails: ?;
@@ -228,6 +245,7 @@ export class Feature extends Element
228
245
  setVisibility(visibility: boolean): void;
229
246
  setOpen(open: boolean): void;
230
247
  setAuthor(author: string): void;
248
+ setAuthorName(authorName: string): void;
231
249
  setLink(link: string): void;
232
250
  setAddress(address: string): void;
233
251
  setPhoneNumber(phoneNumber: string): void;
@@ -235,6 +253,7 @@ export class Feature extends Element
235
253
  setDescription(description: string): void;
236
254
  setLookAt(lookAt: LookAt): void;
237
255
  setStyle(style: StyleSelector): void;
256
+ getBounds(): math.RectArea | null;
238
257
 
239
258
  appendInnerXML(strs: string[], level: number): void;
240
259
  }
@@ -252,6 +271,7 @@ export class Container extends Feature
252
271
  addStyleMap(styleMap: StyleMap): void;
253
272
  getOrNewStyle(iconStyle: IconStyle, labelStyle: LabelStyle, lineStyle: LineStyle, polyStyle: PolyStyle, balloonStyle: BalloonStyle, listStyle: ListStyle): Style;
254
273
  getStyleById(id: string): Style | StyleMap | null;
274
+ getBounds(): math.RectArea | null;
255
275
  getUsedNS(ns: object): void;
256
276
  appendOuterXML(strs: string[], level: number): void;
257
277
  }
@@ -268,8 +288,21 @@ export class Folder extends Container
268
288
 
269
289
  export class NetworkLink extends Feature
270
290
  {
271
- constructor();
272
-
291
+ networkLink: string;
292
+ refreshVisibility: boolean;
293
+ flyToView: boolean;
294
+ refreshMode: RefreshMode;
295
+ refreshInterval: number;
296
+ viewRefreshMode: ViewRefreshMode;
297
+
298
+ constructor(networkLink: string);
299
+ setRefreshVisibility(refreshVisibility: boolean): void;
300
+ setFlyToView(flyToView: boolean): void;
301
+ setRefreshMode(refreshMode: RefreshMode): void;
302
+ setRefreshInterval(refreshInterval: number): void;
303
+ setViewRefreshMode(viewRefreshMode: ViewRefreshMode): void;
304
+
305
+ getBounds(): math.RectArea | null;
273
306
  getUsedNS(ns: object): void;
274
307
  appendOuterXML(strs: string[], level: number): void;
275
308
  }
@@ -280,6 +313,7 @@ export class Placemark extends Feature
280
313
  constructor(vec: geometry.Vector2D);
281
314
 
282
315
  appendGeometry(strs: string[], level: number, vec: geometry.Vector2D, subGeom?: boolean): void;
316
+ getBounds(): math.RectArea | null;
283
317
  getUsedNS(ns: object): void;
284
318
  appendOuterXML(strs: string[], level: number): void;
285
319
  }
package/kml.js CHANGED
@@ -35,6 +35,19 @@ export const HotSpotUnit = {
35
35
  InsetPixels: "insetPixels"
36
36
  }
37
37
 
38
+ export const RefreshMode = {
39
+ OnChange: "onChange",
40
+ OnInterval: "onInterval",
41
+ OnExpire: "onExpire"
42
+ };
43
+
44
+ export const ViewRefreshMode = {
45
+ Never: "never",
46
+ OnStop: "onStop",
47
+ OnRequest: "onRequest",
48
+ OnRegion: "onRegion"
49
+ };
50
+
38
51
  export class Element
39
52
  {
40
53
  }
@@ -655,6 +668,11 @@ export class Feature extends Element
655
668
  this.author = author;
656
669
  }
657
670
 
671
+ setAuthorName(authorName)
672
+ {
673
+ this.authorName = authorName;
674
+ }
675
+
658
676
  setLink(link)
659
677
  {
660
678
  this.link = link;
@@ -698,8 +716,12 @@ export class Feature extends Element
698
716
  strs.push("\t".repeat(level)+"<visibility>"+(this.visibility?"1":"0")+"</visibility>");
699
717
  if (this.open != null)
700
718
  strs.push("\t".repeat(level)+"<open>"+(this.open?"1":"0")+"</open>");
701
- if (this.author)
719
+ if (this.author && this.authorName)
720
+ strs.push("\t".repeat(level)+"<atom:author>"+text.toXMLText(this.author)+"<atom:name>"+text.toXMLText(this.authorName)+"</atom:name></atom:author>");
721
+ else if (this.author)
702
722
  strs.push("\t".repeat(level)+"<atom:author>"+text.toXMLText(this.author)+"</atom:author>");
723
+ else if (this.authorName)
724
+ strs.push("\t".repeat(level)+"<atom:author><atom:name>"+text.toXMLText(this.authorName)+"</atom:name></atom:author>");
703
725
  if (this.link)
704
726
  strs.push("\t".repeat(level)+"<atom:link href="+text.toAttrText(this.link)+"/>");
705
727
  if (this.address)
@@ -790,6 +812,29 @@ export class Container extends Feature
790
812
  return null;
791
813
  }
792
814
 
815
+ getBounds()
816
+ {
817
+ let bounds = null;
818
+ let thisBounds;
819
+ let i;
820
+ for (i in this.features)
821
+ {
822
+ thisBounds = this.features[i].getBounds();
823
+ if (thisBounds)
824
+ {
825
+ if (bounds)
826
+ {
827
+ bounds = bounds.unionInPlace(thisBounds);
828
+ }
829
+ else
830
+ {
831
+ bounds = thisBounds;
832
+ }
833
+ }
834
+ }
835
+ return bounds;
836
+ }
837
+
793
838
  getUsedNS(ns)
794
839
  {
795
840
  if (this.styleList)
@@ -845,6 +890,70 @@ export class Folder extends Container
845
890
  }
846
891
  }
847
892
 
893
+ export class NetworkLink extends Feature
894
+ {
895
+ constructor(networkLink)
896
+ {
897
+ super();
898
+ this.networkLink = networkLink;
899
+ }
900
+
901
+ setRefreshVisibility(refreshVisibility)
902
+ {
903
+ this.refreshVisibility = refreshVisibility;
904
+ }
905
+
906
+ setFlyToView(flyToView)
907
+ {
908
+ this.flyToView = flyToView;
909
+ }
910
+
911
+ setRefreshMode(refreshMode)
912
+ {
913
+ this.refreshMode = refreshMode;
914
+ }
915
+
916
+ setRefreshInterval(refreshInterval)
917
+ {
918
+ this.refreshInterval = refreshInterval;
919
+ }
920
+
921
+ setViewRefreshMode(viewRefreshMode)
922
+ {
923
+ this.viewRefreshMode = viewRefreshMode;
924
+ }
925
+
926
+ getBounds()
927
+ {
928
+ return null;
929
+ }
930
+
931
+ getUsedNS(ns)
932
+ {
933
+ }
934
+
935
+ appendOuterXML(strs, level)
936
+ {
937
+ strs.push("\t".repeat(level)+"<NetworkLink>");
938
+ this.appendInnerXML(strs, level + 1);
939
+ if (this.refreshVisibility != null)
940
+ strs.push("\t".repeat(level + 1)+"<refreshVisibility>"+(this.refreshVisibility?"1":"0")+"</refreshVisibility>");
941
+ if (this.flyToView != null)
942
+ strs.push("\t".repeat(level + 1)+"<flyToView>"+(this.flyToView?"1":"0")+"</flyToView>");
943
+
944
+ strs.push("\t".repeat(level + 1)+"<Link>");
945
+ strs.push("\t".repeat(level + 2)+"<href>"+text.toXMLText(this.networkLink)+"</href>");
946
+ if (this.refreshMode)
947
+ strs.push("\t".repeat(level + 2)+"<refreshMode>"+text.toXMLText(this.refreshMode)+"</refreshMode>");
948
+ if (this.refreshInterval)
949
+ strs.push("\t".repeat(level + 2)+"<refreshInterval>"+this.refreshInterval+"</refreshInterval>");
950
+ if (this.viewRefreshMode)
951
+ strs.push("\t".repeat(level + 2)+"<viewRefreshMode>"+text.toXMLText(this.viewRefreshMode)+"</viewRefreshMode>");
952
+ strs.push("\t".repeat(level + 1)+"</Link>");
953
+ strs.push("\t".repeat(level)+"</NetworkLink>");
954
+ }
955
+ }
956
+
848
957
  export class Placemark extends Feature
849
958
  {
850
959
  constructor(vec)
@@ -977,8 +1086,21 @@ export class Placemark extends Feature
977
1086
  }
978
1087
  }
979
1088
 
1089
+ getBounds()
1090
+ {
1091
+ if (this.vec)
1092
+ {
1093
+ return this.vec.getBounds();
1094
+ }
1095
+ return null;
1096
+ }
1097
+
980
1098
  getUsedNS(ns)
981
1099
  {
1100
+ if (this.author || this.link || this.authorName)
1101
+ {
1102
+ ns.atom = "http://www.w3.org/2005/Atom";
1103
+ }
982
1104
  }
983
1105
 
984
1106
  appendOuterXML(strs, level)
package/leaflet.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as L from "./node_modules/leaflet/src/Leaflet";
2
2
  import * as geometry from "./geometry";
3
3
  import * as kml from "./kml";
4
- import { Coord2D, RectArea } from "./math";
4
+ import * as math from "./math";
5
5
  import * as map from "./map";
6
6
 
7
7
  declare class GeometryOptions
@@ -15,9 +15,11 @@ declare class KMLFeatureOptions
15
15
  noPopup: boolean;
16
16
  }
17
17
 
18
- export function fromLatLon(latLon: L.LatLng): Coord2D;
19
- export function fromLatLng(latLng: L.LatLng): Coord2D;
20
- export function fromLatLngBounds(b: L.LatLngBounds): RectArea;
18
+ export function fromLatLon(latLon: L.LatLng): math.Coord2D;
19
+ export function fromLatLng(latLng: L.LatLng): math.Coord2D;
20
+ export function fromLatLngBounds(b: L.LatLngBounds): math.RectArea;
21
+ export function toLatLngBounds(rect: math.RectArea): L.LatLngBounds;
22
+
21
23
  export function createLayer(layer: map.LayerInfo, options: object): L.Layer;
22
24
  export function createFromKMLFeature(feature: kml.Feature, options: KMLFeatureOptions): L.Layer;
23
25
  export function createFromGeometry(geom: geometry.Vector2D, options: GeometryOptions): L.Layer;
@@ -25,6 +27,16 @@ export function createKMLLookAt(map: L.Map): kml.LookAt;
25
27
  export function toKMLFeature(layer: L.Layer, doc?: kml.Document): kml.Feature | null;
26
28
  export function toKMLString(layer: L.Layer): string | null;
27
29
 
30
+ export class KMLNetworkLink
31
+ {
32
+ feature: kml.NetworkLink;
33
+ container: L.FeatureGroup;
34
+
35
+ constructor(feature: kml.NetworkLink);
36
+ reload(): void;
37
+ addTo(container: L.FeatureGroup): KMLNetworkLink;
38
+ }
39
+
28
40
  export class LeafletMap extends map.MapControl
29
41
  {
30
42
  constructor(divId: string);