@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 +20 -0
- package/cesium.js +15 -2
- package/data.d.ts +27 -0
- package/data.js +160 -0
- package/geometry.d.ts +4 -0
- package/geometry.js +39 -0
- package/kml.d.ts +36 -2
- package/kml.js +123 -1
- package/leaflet.d.ts +16 -4
- package/leaflet.js +56 -1
- package/map.js +1 -1
- package/math.d.ts +2 -0
- package/math.js +26 -0
- package/media.d.ts +119 -0
- package/media.js +2271 -0
- package/package.json +1 -1
- package/parser.d.ts +2 -1
- package/parser.js +296 -0
- package/text.d.ts +1 -0
- package/text.js +27 -0
- package/web.d.ts +2 -1
- package/web.js +37 -4
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
|
-
|
|
466
|
-
|
|
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
|
-
|
|
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
|
|
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);
|