proximiio-js-library 1.6.2 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -4
- package/assets/wayfinding.js +118 -113
- package/lib/components/logger/base.d.ts +8 -0
- package/lib/components/logger/base.js +14 -0
- package/lib/components/logger/main.d.ts +8 -0
- package/lib/components/logger/main.js +14 -0
- package/lib/components/logger/wayfinding.d.ts +25 -0
- package/lib/components/logger/wayfinding.js +104 -0
- package/lib/components/map/icons.d.ts +1 -1
- package/lib/components/map/icons.js +1 -1
- package/lib/components/map/main.d.ts +46 -1
- package/lib/components/map/main.js +203 -63
- package/lib/controllers/auth.d.ts +2 -0
- package/lib/controllers/auth.js +20 -1
- package/lib/index.d.ts +1 -0
- package/lib/proximiio.js +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -119,6 +119,7 @@ const map = new Proximiio.Map({
|
|
|
119
119
|
initPolygons: false, // optional, default: false, if enabled and yours geojson includes required data the map will show defined features as polygons with hover/click effect
|
|
120
120
|
considerVisibilityParam: false, // optional, default: true, if enabled all pois with visibility property defined as 'hidden' will not be visible as default, will be possible to toggle them with toggleHiddenPois() method
|
|
121
121
|
fitBoundsPadding: 200, // optional, default 250, number | PaddingOptions, the amount of padding in pixels to add to the given bounds for found route, https://docs.mapbox.com/mapbox-gl-js/api/properties/#paddingoptions
|
|
122
|
+
minFitBoundsDistance: 50, // optional, default 15, number, the minimum route length in meters to zoom into it's bounds, if length is smaller regular center change will be used
|
|
122
123
|
showLevelDirectionIcon: false // optional, default: false, if enabled arrow icon will be shown at the levelchanger indicating direction of level change along the found route,
|
|
123
124
|
showRasterFloorplans: false // optional, default: false, if enabled raster floorplans will be visible,
|
|
124
125
|
animatedRoute: false // optional, default: false, EXPERIMENTAL, if enabled animated dot will be displayed along the route,
|
|
@@ -486,7 +487,41 @@ map.getMapReadyListener().subscribe(ready => {
|
|
|
486
487
|
|
|
487
488
|
##### Map Features Filtering
|
|
488
489
|
|
|
489
|
-
###### Setting new filter
|
|
490
|
+
###### Setting new feature filter
|
|
491
|
+
With this method you set only defined poi feature to be visible, calling this method multiple times will set another feature to be visible without hiding the previous one.
|
|
492
|
+
```
|
|
493
|
+
// param query {string} id or title of the feature
|
|
494
|
+
|
|
495
|
+
const map = new Proximiio.Map();
|
|
496
|
+
map.getMapReadyListener().subscribe(ready => {
|
|
497
|
+
console.log('map ready', ready);
|
|
498
|
+
map.setFeatureFilter('myfeature');
|
|
499
|
+
});
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
###### Removing created feature filter
|
|
503
|
+
Method for removing previously created feature filters.
|
|
504
|
+
```
|
|
505
|
+
// param query {string} id or title of the feature
|
|
506
|
+
|
|
507
|
+
const map = new Proximiio.Map();
|
|
508
|
+
map.getMapReadyListener().subscribe(ready => {
|
|
509
|
+
console.log('map ready', ready);
|
|
510
|
+
map.removeFeatureFilter('myfeature');
|
|
511
|
+
});
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
###### Resetting all feature filters
|
|
515
|
+
Method for removing all active feature filters.
|
|
516
|
+
```
|
|
517
|
+
const map = new Proximiio.Map();
|
|
518
|
+
map.getMapReadyListener().subscribe(ready => {
|
|
519
|
+
console.log('map ready', ready);
|
|
520
|
+
map.resetFeatureFilters();
|
|
521
|
+
});
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
###### Setting new amenity filter
|
|
490
525
|
You'll be able to show features only for defined amenity id on map with this method, also with defining the category _(NOTE: you have to create them before with [setAmenitiesCategory()](#setting-new-amenities-category) method)_, filtering will be set only for defined array of amenities in the category. With category set, only one amenity filter can be active at the time, while without the category they stack so multiple amenities can be active.
|
|
491
526
|
|
|
492
527
|
```
|
|
@@ -500,7 +535,7 @@ map.getMapReadyListener().subscribe(ready => {
|
|
|
500
535
|
});
|
|
501
536
|
```
|
|
502
537
|
|
|
503
|
-
###### Removing created filter
|
|
538
|
+
###### Removing created amenity filter
|
|
504
539
|
Method for removing previously created amenity filters. In case amenity filter has been set with the category parameter, you have to use same param for removing the filter.
|
|
505
540
|
|
|
506
541
|
```
|
|
@@ -514,8 +549,8 @@ map.getMapReadyListener().subscribe(ready => {
|
|
|
514
549
|
});
|
|
515
550
|
```
|
|
516
551
|
|
|
517
|
-
###### Resetting all filters
|
|
518
|
-
Method for removing all active filters.
|
|
552
|
+
###### Resetting all amenity filters
|
|
553
|
+
Method for removing all active amenity filters.
|
|
519
554
|
|
|
520
555
|
```
|
|
521
556
|
const map = new Proximiio.Map();
|
package/assets/wayfinding.js
CHANGED
|
@@ -466,38 +466,42 @@ export class Wayfinding {
|
|
|
466
466
|
}
|
|
467
467
|
|
|
468
468
|
levelChanger.properties.fixedPointMap = new Map();
|
|
469
|
-
levelChanger.properties.levels
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
if (
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
469
|
+
if (levelChanger.properties.levels) {
|
|
470
|
+
levelChanger.properties.levels.forEach(level => {
|
|
471
|
+
let point = this._copyPoint(levelChanger);
|
|
472
|
+
point.properties.level = level;
|
|
473
|
+
let fixedPoint = this._getFixPointInArea(point);
|
|
474
|
+
if (fixedPoint) {
|
|
475
|
+
fixedPoint.id = levelChanger.id;
|
|
476
|
+
fixedPoint.properties.amenity = levelChanger.properties.amenity;
|
|
477
|
+
fixedPoint.properties.direction = levelChanger.properties.direction;
|
|
478
|
+
fixedPoint.properties.id = levelChanger.properties.id;
|
|
479
|
+
fixedPoint.properties.level = level;
|
|
480
|
+
fixedPoint.properties.type = levelChanger.properties.type;
|
|
481
|
+
if (fixedPoint.properties.neighbours === undefined) fixedPoint.properties.neighbours = [];
|
|
482
|
+
|
|
483
|
+
// Do not fix level changers that are further than 5 meters from any path or area
|
|
484
|
+
if (this._distance(point, fixedPoint) > 5) {
|
|
485
|
+
return;
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
// Store fixed point into the level changer
|
|
489
|
+
levelChanger.properties.fixedPointMap.set(level, fixedPoint);
|
|
490
|
+
|
|
491
|
+
// Add neighbourhood for corridor
|
|
492
|
+
if (fixedPoint.properties.onCorridor) {
|
|
493
|
+
// fixedPoint.properties.neighbours = [...this.corridorLinePointPairs[fixedPoint.properties.corridorIndex], ...segmentIntersectionPointMap.get(fixedPoint.properties.corridorIndex)];
|
|
494
|
+
if (fixedPoint.properties.neighboursLeadingTo !== undefined) {
|
|
495
|
+
fixedPoint.properties.neighboursLeadingTo.forEach(neighbour => {
|
|
496
|
+
if (neighbour.properties.neighbours === undefined) neighbour.properties.neighbours = [];
|
|
497
|
+
neighbour.properties.neighbours.push(fixedPoint);
|
|
498
|
+
});
|
|
499
|
+
this.corridorLineFeatures[fixedPoint.properties.corridorIndex].properties.intersectionPointList.push(fixedPoint);
|
|
500
|
+
}
|
|
501
|
+
}
|
|
498
502
|
}
|
|
499
|
-
}
|
|
500
|
-
}
|
|
503
|
+
});
|
|
504
|
+
}
|
|
501
505
|
});
|
|
502
506
|
|
|
503
507
|
levelChangerGroupMap.forEach( (lcList, groupId) => {
|
|
@@ -1447,100 +1451,101 @@ export class Wayfinding {
|
|
|
1447
1451
|
|
|
1448
1452
|
_getFixPointInArea(point) {
|
|
1449
1453
|
let floorData = this.floorData.get(point.properties.level);
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1454
|
+
if (floorData) {
|
|
1455
|
+
// If point is located without accessible area, do nothing
|
|
1456
|
+
let areaList = floorData.areas;
|
|
1457
|
+
for (let index in areaList) {
|
|
1458
|
+
let polygon = areaList[index];
|
|
1459
|
+
if (turf.booleanContains(polygon, point)) {
|
|
1460
|
+
return point;
|
|
1461
|
+
}
|
|
1457
1462
|
}
|
|
1458
|
-
}
|
|
1459
1463
|
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1464
|
+
// Find nearest wall to stick to
|
|
1465
|
+
let bestWall = null;
|
|
1466
|
+
let bestWallDistance = Infinity;
|
|
1467
|
+
floorData.wallFeatures.forEach(wall => {
|
|
1468
|
+
let distance = turf.pointToLineDistance(point.geometry.coordinates, wall, {units: 'meters'});
|
|
1469
|
+
if (distance < bestWallDistance) {
|
|
1470
|
+
bestWall = wall;
|
|
1471
|
+
bestWallDistance = distance;
|
|
1472
|
+
}
|
|
1473
|
+
});
|
|
1470
1474
|
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1475
|
+
let levelCorridorFeatures = this.corridorLineFeatures.filter(corridorLine => corridorLine.properties.level === point.properties.level);
|
|
1476
|
+
let bestCorridorIndex = null;
|
|
1477
|
+
let bestCorridorDistance = Infinity;
|
|
1478
|
+
levelCorridorFeatures.forEach(corridor => {
|
|
1479
|
+
let corridorIndex = this.corridorLineFeatures.indexOf(corridor);
|
|
1480
|
+
let corridorDistance = turf.pointToLineDistance(point.geometry.coordinates, corridor, {units: 'meters'});
|
|
1481
|
+
if (corridorDistance < bestCorridorDistance) {
|
|
1482
|
+
bestCorridorIndex = corridorIndex;
|
|
1483
|
+
bestCorridorDistance = corridorDistance;
|
|
1484
|
+
}
|
|
1485
|
+
});
|
|
1482
1486
|
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1487
|
+
// Test if area or corridor is closer, create appropriate fixed point
|
|
1488
|
+
if (bestWall === null && bestCorridorIndex === null) {
|
|
1489
|
+
// could not find neither close area or corridor
|
|
1490
|
+
return point;
|
|
1491
|
+
} else {
|
|
1492
|
+
let fixedPoint;
|
|
1489
1493
|
|
|
1490
|
-
|
|
1491
|
-
|
|
1494
|
+
// Corridor is closer
|
|
1495
|
+
if (bestCorridorIndex !== undefined && bestCorridorDistance < bestWallDistance) {
|
|
1492
1496
|
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1497
|
+
// Create fixed point on line itself
|
|
1498
|
+
let line = this.corridorLineFeatures[bestCorridorIndex];
|
|
1499
|
+
fixedPoint = turf.nearestPointOnLine(line, point);
|
|
1496
1500
|
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1501
|
+
// Mark this fixed point is on corridor, preset neighbours
|
|
1502
|
+
fixedPoint.properties.onCorridor = true;
|
|
1503
|
+
fixedPoint.properties.corridorIndex = bestCorridorIndex;
|
|
1504
|
+
if (!fixedPoint.properties.neighbours) {
|
|
1505
|
+
fixedPoint.properties.neighbours = [];
|
|
1506
|
+
}
|
|
1507
|
+
if (this.corridorLineFeatures[bestCorridorIndex].properties.bidirectional != false) {
|
|
1508
|
+
fixedPoint.properties.neighbours.push(this.corridorLinePointPairs[bestCorridorIndex][0], this.corridorLinePointPairs[bestCorridorIndex][1]);
|
|
1509
|
+
fixedPoint.properties.neighbours.push(...line.properties.intersectionPointList);
|
|
1510
|
+
fixedPoint.properties.neighboursLeadingTo = [
|
|
1511
|
+
this.corridorLinePointPairs[bestCorridorIndex][0],
|
|
1512
|
+
this.corridorLinePointPairs[bestCorridorIndex][1],
|
|
1513
|
+
...line.properties.intersectionPointList
|
|
1514
|
+
];
|
|
1515
|
+
} else if (this.corridorLineFeatures[bestCorridorIndex].properties.swapDirection != true) {
|
|
1516
|
+
fixedPoint.properties.neighbours.push(this.corridorLinePointPairs[bestCorridorIndex][0]);
|
|
1517
|
+
// include only intersection points after this point
|
|
1518
|
+
let distance = this._distance(fixedPoint, this.corridorLinePointPairs[bestCorridorIndex][0]);
|
|
1519
|
+
let pointsBefore = line.properties.intersectionPointList.filter(point => this._distance(point, this.corridorLinePointPairs[bestCorridorIndex][0]) < distance);
|
|
1520
|
+
let pointsAfter = line.properties.intersectionPointList.filter(point => this._distance(point, this.corridorLinePointPairs[bestCorridorIndex][0]) >= distance);
|
|
1521
|
+
fixedPoint.properties.neighbours.push(...pointsAfter);
|
|
1522
|
+
fixedPoint.properties.neighboursLeadingTo = pointsBefore;
|
|
1523
|
+
} else {
|
|
1524
|
+
fixedPoint.properties.neighbours.push(this.corridorLinePointPairs[bestCorridorIndex][1]);
|
|
1525
|
+
// include only intersection points before this point
|
|
1526
|
+
let distance = this._distance(fixedPoint, this.corridorLinePointPairs[bestCorridorIndex][0]);
|
|
1527
|
+
let pointsBefore = line.properties.intersectionPointList.filter(point => this._distance(point, this.corridorLinePointPairs[bestCorridorIndex][0]) <= distance);
|
|
1528
|
+
let pointsAfter = line.properties.intersectionPointList.filter(point => this._distance(point, this.corridorLinePointPairs[bestCorridorIndex][0]) > distance);
|
|
1529
|
+
fixedPoint.properties.neighbours.push(...pointsBefore);
|
|
1530
|
+
fixedPoint.properties.neighboursLeadingTo = pointsAfter;
|
|
1531
|
+
}
|
|
1528
1532
|
|
|
1529
|
-
|
|
1530
|
-
|
|
1533
|
+
// Wall is closer
|
|
1534
|
+
} else if (bestWall !== null) {
|
|
1531
1535
|
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1536
|
+
// Create fixed point inside area
|
|
1537
|
+
let nearestPoint = turf.nearestPointOnLine(bestWall, point);
|
|
1538
|
+
let bearing = turf.bearing(point, nearestPoint);
|
|
1539
|
+
fixedPoint = turf.destination(point.geometry.coordinates, bestWallDistance + 0.05, bearing, {units: 'meters'});
|
|
1540
|
+
}
|
|
1537
1541
|
|
|
1538
|
-
|
|
1539
|
-
|
|
1542
|
+
// Mark level of fixed point
|
|
1543
|
+
fixedPoint.properties.level = point.properties.level;
|
|
1540
1544
|
|
|
1541
|
-
|
|
1542
|
-
|
|
1545
|
+
// Return created point
|
|
1546
|
+
return fixedPoint;
|
|
1543
1547
|
|
|
1548
|
+
}
|
|
1544
1549
|
}
|
|
1545
1550
|
}
|
|
1546
1551
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var uuid_1 = require("uuid");
|
|
4
|
+
var BaseLogger = /** @class */ (function () {
|
|
5
|
+
function BaseLogger(data) {
|
|
6
|
+
this.id = data.id ? data.id : uuid_1.v4() + ":" + uuid_1.v4();
|
|
7
|
+
this.organization_id = data.organization_id;
|
|
8
|
+
this.organization_name = data.organization_name;
|
|
9
|
+
this.visitor_id = data.visitor_id ? data.visitor_id : uuid_1.v4();
|
|
10
|
+
this.createdAt = data.createdAt ? data.createdAt : new Date();
|
|
11
|
+
}
|
|
12
|
+
return BaseLogger;
|
|
13
|
+
}());
|
|
14
|
+
exports.default = BaseLogger;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var common_1 = require("../../common");
|
|
4
|
+
var BaseLogger = /** @class */ (function () {
|
|
5
|
+
function BaseLogger(data) {
|
|
6
|
+
this.id = data.id ? data.id : common_1.uuidv4 + ":" + common_1.uuidv4;
|
|
7
|
+
this.organization_id = data.organization_id;
|
|
8
|
+
this.organization_name = data.organization_name;
|
|
9
|
+
this.visitor_id = data.visitor_id ? data.visitor_id : "" + common_1.uuidv4;
|
|
10
|
+
this.createdAt = data.createdAt ? data.createdAt : new Date();
|
|
11
|
+
}
|
|
12
|
+
return BaseLogger;
|
|
13
|
+
}());
|
|
14
|
+
exports.default = BaseLogger;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import BaseLogger from './base';
|
|
2
|
+
export default class WayfindingLogger extends BaseLogger {
|
|
3
|
+
startLngLat: [number, number];
|
|
4
|
+
startLevel: number;
|
|
5
|
+
startSegmentId?: string;
|
|
6
|
+
startSegmentName?: string;
|
|
7
|
+
startGeofenceId?: string;
|
|
8
|
+
startGeofenceName?: string;
|
|
9
|
+
destinationFeatureId?: string;
|
|
10
|
+
destinationName?: string;
|
|
11
|
+
destinationLngLat: [number, number];
|
|
12
|
+
destinationLevel: number;
|
|
13
|
+
foundPath: boolean;
|
|
14
|
+
optionAvoidBarrier: boolean;
|
|
15
|
+
optionAvoidElevators: boolean;
|
|
16
|
+
optionAvoidEscalators: boolean;
|
|
17
|
+
optionAvoidNarrowPaths: boolean;
|
|
18
|
+
optionAvoidRamps: boolean;
|
|
19
|
+
optionAvoidStaircases: boolean;
|
|
20
|
+
optionAvoidTicketGates: boolean;
|
|
21
|
+
route: [number, number, number][];
|
|
22
|
+
rerouted?: boolean;
|
|
23
|
+
constructor(data: any);
|
|
24
|
+
save(): Promise<void>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
+
function step(op) {
|
|
31
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
+
while (_) try {
|
|
33
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
+
switch (op[0]) {
|
|
36
|
+
case 0: case 1: t = op; break;
|
|
37
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
+
default:
|
|
41
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
+
if (t[2]) _.ops.pop();
|
|
46
|
+
_.trys.pop(); continue;
|
|
47
|
+
}
|
|
48
|
+
op = body.call(thisArg, _);
|
|
49
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
var common_1 = require("../../common");
|
|
55
|
+
var base_1 = require("./base");
|
|
56
|
+
var WayfindingLogger = /** @class */ (function (_super) {
|
|
57
|
+
__extends(WayfindingLogger, _super);
|
|
58
|
+
function WayfindingLogger(data) {
|
|
59
|
+
var _this = _super.call(this, data) || this;
|
|
60
|
+
_this.startLngLat = data.startLngLat;
|
|
61
|
+
_this.startLevel = data.startLevel;
|
|
62
|
+
_this.startSegmentId = data.startSegmentId;
|
|
63
|
+
_this.startSegmentName = data.startSegmentName;
|
|
64
|
+
_this.startGeofenceId = data.startGeofenceId;
|
|
65
|
+
_this.startGeofenceName = data.startGeofenceName;
|
|
66
|
+
_this.destinationFeatureId = data.destinationFeatureId;
|
|
67
|
+
_this.destinationName = data.destinationName;
|
|
68
|
+
_this.destinationLngLat = data.destinationLngLat;
|
|
69
|
+
_this.destinationLevel = data.destinationLevel;
|
|
70
|
+
_this.foundPath = data.foundPath;
|
|
71
|
+
_this.optionAvoidBarrier = data.optionAvoidBarrier;
|
|
72
|
+
_this.optionAvoidElevators = data.optionAvoidElevators;
|
|
73
|
+
_this.optionAvoidEscalators = data.optionAvoidEscalators;
|
|
74
|
+
_this.optionAvoidNarrowPaths = data.optionAvoidNarrowPaths;
|
|
75
|
+
_this.optionAvoidRamps = data.optionAvoidRamps;
|
|
76
|
+
_this.optionAvoidStaircases = data.optionAvoidStaircases;
|
|
77
|
+
_this.optionAvoidTicketGates = data.optionAvoidTicketGates;
|
|
78
|
+
_this.route = data.route;
|
|
79
|
+
_this.rerouted = data.rerouted;
|
|
80
|
+
return _this;
|
|
81
|
+
}
|
|
82
|
+
WayfindingLogger.prototype.save = function () {
|
|
83
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
84
|
+
var e_1;
|
|
85
|
+
return __generator(this, function (_a) {
|
|
86
|
+
switch (_a.label) {
|
|
87
|
+
case 0:
|
|
88
|
+
_a.trys.push([0, 2, , 3]);
|
|
89
|
+
return [4 /*yield*/, common_1.axios.post("v6/geo/wayfinding_logs", [this])];
|
|
90
|
+
case 1:
|
|
91
|
+
_a.sent();
|
|
92
|
+
return [3 /*break*/, 3];
|
|
93
|
+
case 2:
|
|
94
|
+
e_1 = _a.sent();
|
|
95
|
+
console.log("Log saving failed, " + e_1.message);
|
|
96
|
+
return [3 /*break*/, 3];
|
|
97
|
+
case 3: return [2 /*return*/];
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
return WayfindingLogger;
|
|
103
|
+
}(base_1.default));
|
|
104
|
+
exports.default = WayfindingLogger;
|
|
@@ -13,7 +13,7 @@ export declare const routeB = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADI
|
|
|
13
13
|
export declare const marker = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAABfklEQVRIie3WMU/CQBQH8NfaD+RgIuJEWP0c7C4aBpyMTIY4aVxNnB3UCLakTgxOJiY0aSElkVDUNoECLeVdz+kMKYYo7cEg/+nSXvq7XK7vHcCKIkQf5PIlysaXxf2Z99zgWjb7DW9I0guZTAqpavVWAKDRuYnDm3t7AADQ63aho2mDwPdtgng0RrzOqCpyh1mGjgOdet31XNenhBRHiOcZVfW5w9MLsHR9OHAcApSeSZSebslyjzvM4vX7YBnG0LUsAUTxAhBPthXF5g6zBKMRvDcantNuU6D0igbBcUpV37jDLDgew4dpBp/NJqGieEfCsJCuVDTuMAtBBNs0savrKAhCLUA83FWUZ+4wS0gI2K0WtQzDp2GohYQc7MiyPD1HjCXEiJTkx6JbPZmz1YnAM4cLoJAul+cerlhwnN9pITiJAvIn+MeSWS4vVDJ/BUebhJdAk5gLL70tsjHPi8BMcvkSvXl6pdNXIB5ZWeVaw2v4n8D3D4/LXsfy8gV9n0oC7aAw4wAAAABJRU5ErkJggg==";
|
|
14
14
|
export declare const defaultIcon = "data:image/png;base64,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";
|
|
15
15
|
export declare const chevron = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABmJLR0QA/wD/AP+gvaeTAAABvElEQVRoge3YWUsCURiA4TPdVdBGli1E20XLr+gHB923WFdt0k6aQZlB+guCIHi7mCXBwY7fOJ5Pm/faYc7D6DnjZ0xWls6AEWAXeAE2XK9HVIDY57cGsOV6XR0VIA5orQFsul6fVQHiMAYRVlePCRBHbRBh78C66/XGBoxaIpoxa67X3RKw1wEi7A1YSXttQx1+/ktwjyVjTAFYFlybTsAw8TuVmidjHX/vWP8GU0XZ18x2G+4bTEGIeQYWXBui8M+WYyGmohFzkgAz79oQlRDzpA0zBpwJMWVgzrUhChgfNMy5EFMC8q4NUQHmYlAwEwkwt8C0a0MUMAVcCzFFwLO5T6ev8ZK+jTGfwmtnTW/W2D7838mp8Gk0gG3XhqSIOhrGSiQ7S3RMYPB3KukZomPykhBR04SQnhk1NIyNgEngUoh4GxTEqmuDAXL4rxKSqmiYqASIu35HzCRAvKJhghIg7oWICrDo2tANhI6JCfLX8TIpDxd6MY0vG2N2PM/7EFybTvhnRlHTkxCH/bZbQtNEJC4LjH5EWICJ28Ee0TQBsQl/O35oQtwAOdfrEgXkgSv8v7V6xjdZWd3pB9JxAjY9tg5oAAAAAElFTkSuQmCC";
|
|
16
|
-
export declare const person = "data:image/
|
|
16
|
+
export declare const person = "data:image/png;base64,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";
|
|
17
17
|
export declare const floorchangeDownImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0Y2MDk5Q0IyM0EyMTFFOEExQkQ5MDk1RDU5RTBCQ0UiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0Y2MDk5Q0MyM0EyMTFFOEExQkQ5MDk1RDU5RTBCQ0UiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozRjYwOTlDOTIzQTIxMUU4QTFCRDkwOTVENTlFMEJDRSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozRjYwOTlDQTIzQTIxMUU4QTFCRDkwOTVENTlFMEJDRSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsNnVNkAAAJISURBVHja7NxNSsNAGAbgxD+KUnWhUCi9hrtewWO51RMUFAaXQg/QhYuCV9CtpQtxZXelxG9kAjZN0kky881k8r7wUkpKJn0ozQ+ZREmSRNkyZEx9pa6piYGu1frGtjd8x8oB4C11Ywgu241af7CAx9SlJby0SzUOC+BBxJsb6sDyGAM1Dku4Aa8DG4cdMLgAEIAABCAAEQACEIAARAAIQAACEAEgAAEIQASAAAQgABEAAhCAAEQACEAAAhABIAABCEAkkyPNz/WphwbGO2P6XnKcSwPrkXf9/5R+ouQu/RH1mbqK7N5V73tXymGU51UEOKR+dhwuW+kx1AV8BFhun7JWcd7EmjiOv+jlCruInXyT15ZLEWACq8J9RqxzGPMBqty86x4H3sMqNw+6hzHyZzrBTmOrk/QvT3e2pjxwFoD7q0hPJKpOdwXiP7w6gF1HFNlT2LoTrruIKPLO/5vMWO8Soii6eNJ0yn8XEEXZlScTz0wIGVHsu2xn6qETISLuxTMJGBqiFp5pwBTxpeV4L1Wuttt4bswJddpSvKna/sglYFsRK+PZBGwbYi0824BtQayNxwHoO2IjPC5AXxEb43EC+oZoBI8b0BdEY3guAF0jGsVzBZgizpjxZqbxXALKnDIiztR4UUiAXIjW8HwAtI1oFc8XQFuI1vF8AjSNyILnG6ApRDY8HwGbIrLi+QpYF5Edz2fAqohO8HwHlDmnvu3Bk8v7rjbQd0CZC+q8AG+ulkcALE+PekddKLiFet9zvWFZq18BBgDKKe48BY2GvQAAAABJRU5ErkJggg==";
|
|
18
18
|
export declare const floorchangeUpImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Mzc3ODM3OTQyM0EyMTFFODk5MzVCRjg5RkE3NDIwNEMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Mzc3ODM3OTUyM0EyMTFFODk5MzVCRjg5RkE3NDIwNEMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozNzc4Mzc5MjIzQTIxMUU4OTkzNUJGODlGQTc0MjA0QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozNzc4Mzc5MzIzQTIxMUU4OTkzNUJGODlGQTc0MjA0QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv4uuuEAAAJCSURBVHja7NxPasJAGAXwxP6hFGwP4L53cOEJeoXuixfxGF1V6E4Q6tJFF0KPULptcdEWCuJKavpNOwEdJzpJZr6ZJO/BI5CECfk5MirEVpIk0WYDyBl1QH2nJnI7kPu9RrX68woM8JI6k3BqZ/I4ADPSpj5n4KUVxy8AuJtz6vQAXtqpPB+ABfC8IoYIWATPG2JogGXwvCCGBGgDjx0xFECbeKyIIQC6wGND9A3oEo8F0ScgB55zRF+Ap4x4m4indQAUNzFmxks7to3IDegTzwkiJ2AIeNYRuQBDwrOKyAEYIp41RNeAIeNZQXQJWAW80oiuAKuEVwrRBWAV8Qoj2gY8oo4qipd2JO+DHVBcdFhxvLRDU0RbgHXCy4VoA7COeMaIZQHrjGeEWAawCXgHEYsCNglvL2IRwCbiZSLmBWwynhYxDyDwNIimgDH1DnBbFR6xKWAfYNr2dYCxunDEcfxCm6sIUfNKVjsuOsAEVpkfpGN1X0tz3heotPnU7dQBTmClzcTo+x2lQ33DorFV4dHRLSK6GSgeK+hSH6jLhs+6pXToSpfIZBFRz2nn+dV2T66p9ww3fUN9tDDOD3WhvlvVHBsMtLD4anLNmm+uKdrC2gBAAAIQgAgAAQhAACIABCAAAYgAEIAABCACQAACEIAIAAEIQAAiAAQgAAGIABCAAAQgAsDKAn7U7Dr/YfwL0BPqPHL7OMJcXofFKusxB1dZUW+pa0fjr+X4q7rOwDQ96pO8URuzbiXH63Fbif4KMAA5SHWvsbuuvQAAAABJRU5ErkJggg==";
|
|
19
19
|
export declare const pulsingDot: {
|
|
@@ -18,7 +18,7 @@ exports.routeB = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAe
|
|
|
18
18
|
exports.marker = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAABfklEQVRIie3WMU/CQBQH8NfaD+RgIuJEWP0c7C4aBpyMTIY4aVxNnB3UCLakTgxOJiY0aSElkVDUNoECLeVdz+kMKYYo7cEg/+nSXvq7XK7vHcCKIkQf5PIlysaXxf2Z99zgWjb7DW9I0guZTAqpavVWAKDRuYnDm3t7AADQ63aho2mDwPdtgng0RrzOqCpyh1mGjgOdet31XNenhBRHiOcZVfW5w9MLsHR9OHAcApSeSZSebslyjzvM4vX7YBnG0LUsAUTxAhBPthXF5g6zBKMRvDcantNuU6D0igbBcUpV37jDLDgew4dpBp/NJqGieEfCsJCuVDTuMAtBBNs0savrKAhCLUA83FWUZ+4wS0gI2K0WtQzDp2GohYQc7MiyPD1HjCXEiJTkx6JbPZmz1YnAM4cLoJAul+cerlhwnN9pITiJAvIn+MeSWS4vVDJ/BUebhJdAk5gLL70tsjHPi8BMcvkSvXl6pdNXIB5ZWeVaw2v4n8D3D4/LXsfy8gV9n0oC7aAw4wAAAABJRU5ErkJggg==';
|
|
19
19
|
exports.defaultIcon = exports.poi;
|
|
20
20
|
exports.chevron = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABmJLR0QA/wD/AP+gvaeTAAABvElEQVRoge3YWUsCURiA4TPdVdBGli1E20XLr+gHB923WFdt0k6aQZlB+guCIHi7mCXBwY7fOJ5Pm/faYc7D6DnjZ0xWls6AEWAXeAE2XK9HVIDY57cGsOV6XR0VIA5orQFsul6fVQHiMAYRVlePCRBHbRBh78C66/XGBoxaIpoxa67X3RKw1wEi7A1YSXttQx1+/ktwjyVjTAFYFlybTsAw8TuVmidjHX/vWP8GU0XZ18x2G+4bTEGIeQYWXBui8M+WYyGmohFzkgAz79oQlRDzpA0zBpwJMWVgzrUhChgfNMy5EFMC8q4NUQHmYlAwEwkwt8C0a0MUMAVcCzFFwLO5T6ev8ZK+jTGfwmtnTW/W2D7838mp8Gk0gG3XhqSIOhrGSiQ7S3RMYPB3KukZomPykhBR04SQnhk1NIyNgEngUoh4GxTEqmuDAXL4rxKSqmiYqASIu35HzCRAvKJhghIg7oWICrDo2tANhI6JCfLX8TIpDxd6MY0vG2N2PM/7EFybTvhnRlHTkxCH/bZbQtNEJC4LjH5EWICJ28Ee0TQBsQl/O35oQtwAOdfrEgXkgSv8v7V6xjdZWd3pB9JxAjY9tg5oAAAAAElFTkSuQmCC';
|
|
21
|
-
exports.person = 'data:image/
|
|
21
|
+
exports.person = 'data:image/png;base64,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';
|
|
22
22
|
exports.floorchangeDownImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0Y2MDk5Q0IyM0EyMTFFOEExQkQ5MDk1RDU5RTBCQ0UiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0Y2MDk5Q0MyM0EyMTFFOEExQkQ5MDk1RDU5RTBCQ0UiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozRjYwOTlDOTIzQTIxMUU4QTFCRDkwOTVENTlFMEJDRSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozRjYwOTlDQTIzQTIxMUU4QTFCRDkwOTVENTlFMEJDRSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsNnVNkAAAJISURBVHja7NxNSsNAGAbgxD+KUnWhUCi9hrtewWO51RMUFAaXQg/QhYuCV9CtpQtxZXelxG9kAjZN0kky881k8r7wUkpKJn0ozQ+ZREmSRNkyZEx9pa6piYGu1frGtjd8x8oB4C11Ywgu241af7CAx9SlJby0SzUOC+BBxJsb6sDyGAM1Dku4Aa8DG4cdMLgAEIAABCAAEQACEIAARAAIQAACEAEgAAEIQASAAAQgABEAAhCAAEQACEAAAhABIAABCEAkkyPNz/WphwbGO2P6XnKcSwPrkXf9/5R+ouQu/RH1mbqK7N5V73tXymGU51UEOKR+dhwuW+kx1AV8BFhun7JWcd7EmjiOv+jlCruInXyT15ZLEWACq8J9RqxzGPMBqty86x4H3sMqNw+6hzHyZzrBTmOrk/QvT3e2pjxwFoD7q0hPJKpOdwXiP7w6gF1HFNlT2LoTrruIKPLO/5vMWO8Soii6eNJ0yn8XEEXZlScTz0wIGVHsu2xn6qETISLuxTMJGBqiFp5pwBTxpeV4L1Wuttt4bswJddpSvKna/sglYFsRK+PZBGwbYi0824BtQayNxwHoO2IjPC5AXxEb43EC+oZoBI8b0BdEY3guAF0jGsVzBZgizpjxZqbxXALKnDIiztR4UUiAXIjW8HwAtI1oFc8XQFuI1vF8AjSNyILnG6ApRDY8HwGbIrLi+QpYF5Edz2fAqohO8HwHlDmnvu3Bk8v7rjbQd0CZC+q8AG+ulkcALE+PekddKLiFet9zvWFZq18BBgDKKe48BY2GvQAAAABJRU5ErkJggg==';
|
|
23
23
|
exports.floorchangeUpImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Mzc3ODM3OTQyM0EyMTFFODk5MzVCRjg5RkE3NDIwNEMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Mzc3ODM3OTUyM0EyMTFFODk5MzVCRjg5RkE3NDIwNEMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozNzc4Mzc5MjIzQTIxMUU4OTkzNUJGODlGQTc0MjA0QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozNzc4Mzc5MzIzQTIxMUU4OTkzNUJGODlGQTc0MjA0QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv4uuuEAAAJCSURBVHja7NxPasJAGAXwxP6hFGwP4L53cOEJeoXuixfxGF1V6E4Q6tJFF0KPULptcdEWCuJKavpNOwEdJzpJZr6ZJO/BI5CECfk5MirEVpIk0WYDyBl1QH2nJnI7kPu9RrX68woM8JI6k3BqZ/I4ADPSpj5n4KUVxy8AuJtz6vQAXtqpPB+ABfC8IoYIWATPG2JogGXwvCCGBGgDjx0xFECbeKyIIQC6wGND9A3oEo8F0ScgB55zRF+Ap4x4m4indQAUNzFmxks7to3IDegTzwkiJ2AIeNYRuQBDwrOKyAEYIp41RNeAIeNZQXQJWAW80oiuAKuEVwrRBWAV8Qoj2gY8oo4qipd2JO+DHVBcdFhxvLRDU0RbgHXCy4VoA7COeMaIZQHrjGeEWAawCXgHEYsCNglvL2IRwCbiZSLmBWwynhYxDyDwNIimgDH1DnBbFR6xKWAfYNr2dYCxunDEcfxCm6sIUfNKVjsuOsAEVpkfpGN1X0tz3heotPnU7dQBTmClzcTo+x2lQ33DorFV4dHRLSK6GSgeK+hSH6jLhs+6pXToSpfIZBFRz2nn+dV2T66p9ww3fUN9tDDOD3WhvlvVHBsMtLD4anLNmm+uKdrC2gBAAAIQgAgAAQhAACIABCAAAYgAEIAABCACQAACEIAIAAEIQAAiAAQgAAGIABCAAAQgAsDKAn7U7Dr/YfwL0BPqPHL7OMJcXofFKusxB1dZUW+pa0fjr+X4q7rOwDQ96pO8URuzbiXH63Fbif4KMAA5SHWvsbuuvQAAAABJRU5ErkJggg==';
|
|
24
24
|
var size = 120;
|