@mapsindoors/map-template 1.95.1 → 1.95.3
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/dist/{GoogleMapsMap-C5n6Bgtp.mjs → GoogleMapsMap-Dkn60-_e.mjs} +2 -2
- package/dist/{MapboxMap-UCqzt1AC.mjs → MapboxMap-B1oo7IUm.mjs} +2 -2
- package/dist/_commonjsHelpers-B85MJLTf.js +5 -0
- package/dist/app-globals-DQuL1Twl.js +3 -0
- package/dist/combo-box-item.entry.js +8 -10
- package/dist/icon-DT_sDkmK.js +11 -0
- package/dist/index-BZQHyS7V.js +1701 -0
- package/dist/loader.js +7 -14
- package/dist/mapsindoors-react.es.js +1 -1
- package/dist/mapsindoors-react.umd.js +175 -175
- package/dist/mapsindoors-webcomponent.es.js +2916 -2904
- package/dist/mi-card_2.entry.js +23 -18
- package/dist/mi-chip.entry.js +25 -16
- package/dist/mi-column.entry.js +47 -23
- package/dist/mi-combo-box.entry.js +412 -379
- package/dist/mi-components.js +15 -12
- package/dist/mi-data-table.entry.js +300 -278
- package/dist/mi-distance_2.entry.js +58 -56
- package/dist/mi-dropdown-item.entry.js +8 -10
- package/dist/mi-dropdown.entry.js +527 -481
- package/dist/mi-floor-selector.entry.js +187 -180
- package/dist/mi-keyboard.entry.js +209 -186
- package/dist/mi-list-item-category.entry.js +44 -41
- package/dist/mi-list-item-location.entry.js +168 -162
- package/dist/mi-list.entry.js +60 -48
- package/dist/mi-location-booking.entry.js +320 -295
- package/dist/mi-location-info.entry.js +61 -53
- package/dist/mi-map-googlemaps.entry.js +369 -324
- package/dist/mi-map-mapbox.entry.js +502 -439
- package/dist/mi-metric-card.entry.js +50 -37
- package/dist/mi-my-position.entry.js +2345 -874
- package/dist/mi-notification.entry.js +112 -102
- package/dist/mi-route-instructions-heading.entry.js +70 -65
- package/dist/mi-route-instructions-maneuver-legacy.entry.js +80 -76
- package/dist/mi-route-instructions-maneuver.entry.js +80 -76
- package/dist/mi-route-instructions-step-legacy.entry.js +296 -282
- package/dist/mi-route-instructions-step.entry.js +313 -292
- package/dist/mi-route-instructions.entry.js +169 -150
- package/dist/mi-scroll-buttons.entry.js +106 -98
- package/dist/mi-search.entry.js +378 -325
- package/dist/mi-share-sms.entry.js +84 -70
- package/dist/mi-step-switcher.entry.js +34 -25
- package/dist/mi-tab-panel.entry.js +18 -18
- package/dist/mi-tab.entry.js +5 -7
- package/dist/mi-tabs.entry.js +42 -40
- package/dist/mi-time.entry.js +49 -49
- package/dist/mi-variables-CDNvnTkH.js +5 -0
- package/dist/{reactcomponent-DQsjxRIN.mjs → reactcomponent-2Oa1vSiK.mjs} +8996 -8660
- package/dist/route-travel-mode.enum-BvqP1fpw.js +9 -0
- package/dist/sort-order.enum-jsLAbYWg.js +566 -0
- package/dist/{unit-system.enum-eaefb53e.js → unit-system.enum-BwPgAWqL.js} +2 -2
- package/dist/utils-DNHzysQ6.js +61 -0
- package/package.json +1 -1
- package/dist/_commonjsHelpers-ba3f0406.js +0 -21
- package/dist/icon-b8d01d6f.js +0 -24
- package/dist/index-7e9696f3.js +0 -1678
- package/dist/mi-variables-9a6c8d4d.js +0 -6
- package/dist/polyfills/core-js.js +0 -11
- package/dist/polyfills/css-shim.js +0 -1
- package/dist/polyfills/dom.js +0 -79
- package/dist/polyfills/es5-html-element.js +0 -1
- package/dist/polyfills/index.js +0 -34
- package/dist/polyfills/system.js +0 -6
- package/dist/route-travel-mode.enum-7f4ce9c7.js +0 -9
- package/dist/sort-order.enum-64ce8998.js +0 -552
- package/dist/utils-ae714467.js +0 -61
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h } from './index-
|
|
2
|
-
import { m as miVariables } from './mi-variables-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-BZQHyS7V.js';
|
|
2
|
+
import { m as miVariables } from './mi-variables-CDNvnTkH.js';
|
|
3
3
|
|
|
4
4
|
/******************************************************************************
|
|
5
5
|
Copyright (c) Microsoft Corporation.
|
|
@@ -24,7 +24,7 @@ function __awaiter(thisArg, _arguments, P, generator) {
|
|
|
24
24
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
25
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
26
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
-
step((generator = generator.apply(thisArg,
|
|
27
|
+
step((generator = generator.apply(thisArg, [])).next());
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
|
|
@@ -409,342 +409,387 @@ class Loader {
|
|
|
409
409
|
}
|
|
410
410
|
}
|
|
411
411
|
|
|
412
|
-
const mapGooglemapsCss = ":host{display:block}:host>div{height:100%}.mapsindoors.floor-selector{margin:10px;position:absolute;border-radius:2px;box-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.3);width:40px;font-family:Figtree, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:18px}.mapsindoors.floor-selector a{position:relative;display:block;float:none;margin-top:-1px;text-align:center;cursor:pointer;border-radius:2px;background:#fff;z-index:0;height:40px;line-height:40px}.mapsindoors.floor-selector a:hover{background:#ddd;border-color:#999;z-index:2}.mapsindoors.floor-selector a.active{background:#ddd;border-color:#00b1ff;z-index:2}.mapsindoors.floor-selector a:not(:first-child):not(:last-child){border-radius:0}.mapsindoors.floor-selector a:first-child:not(:last-child){border-top-right-radius:2px;border-bottom-right-radius:0;border-bottom-left-radius:0}.mapsindoors.floor-selector a:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:2px;border-top-left-radius:0}.mapsindoors.position-control{margin:10px;position:absolute}.mapsindoors.position-control__button{border:none;margin:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;width:40px;height:40px;background-color:transparent;background-size:cover;outline:none;box-shadow:0px 4px 4px rgba(0, 0, 0, 0.16), 0px 2px 2px rgba(0, 0, 0, 0.18), 0px 1px 1px rgba(0, 0, 0, 0.2);border-radius:50%}.mapsindoors.position-control__button--unknown{background-image:url(data:image/png;base64,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)}.mapsindoors.position-control__button--requesting{background-image:url(data:image/png;base64,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)}.mapsindoors.position-control__button--known{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAbXSURBVHgB7Z3faxxVFMdPxFdD89xgJw+K2SKxICYi4gbTFBFs0qSIIDSJFlGoSYhV35KgD4JIGguCiEkEQSTbJC2U0kRJQCSpIKZIN+LLTiA+N6x/wPV+58c6c3dmf865s78+cDsz3SSz8917zz33nDOzbRQjQogTcpOUzZCtx9kazsuG8uPHspme7aFsO7Ltt7W1HVNMtJFGPIK9JNsQ5YtUKSbZYt7ENk5BWZDCJWVbl+2h0MOybENUz6C3yTarUbQgMrKNyWZQvSBqQziVjGyzVOsI+9POiNolI9sY1RryTRmybYv6AfbYoFpAvpFJUVvDtVTwnscoLoRt6xZE/bNAVVCRHyjs7r8u2zPUGOzLNiz9R5PKpGwBHfG2KTonuFYwZesvV8SyBGxg8VxMKlPEkgVsAvFcTCpDxJIEbCLxXEwqUcRSBfyDGmfCKBVMLP3FAhOPUBGcab7ZxAO45qLLv4I9UNiO5jI1N9OyF14LezFUQMfuYeieoOYGQ/hMmD0sJCAc5dhiaqe6nvQdH2b+phhBkLY/6IVAG+gM3foOSEZLUoSsm8MmkdqPnelnVtgpCR95Ago78GhQCxVDtin1P302ME6H+ejoiO5u/kTpgwNKp/+S7cD3eiLRTZ2dJ2nw7AA939dr7ccAJpQur2+oCjhGmt2WVGqNVm+s0d7eb2X9Xl/fczQ6coEujl4gzcxLAefcA1XADGnqfXt792jm6sey5/1D1YCeODV5RaeQx1LADvcgJ6Cw04DrxEw2+y8tLH5JS0vfUZRMTFyi6cn3qb39MdIAlng72PEKiKE7Roygt11+5708++bS19tLg4MvOzauMycGRE+n0/RA/t7m1s9W7w0CvfHHH77XYR83pIDD2LEEdKbnh8QIxHv9jTcDh+xbE2M0MX6p5AvH31i4dp1S0naqaBIxN5m4ArIOX/SgV159LU88XOQ3X39lzbCVEPah4O9BRObhjBTAhusHnidGYPPUi4TRv3P7VsXiAXwAd27flMN+wPf/MBE4JzPJ3J5gTIavrt4QjxtP+Nrbl98VUTPzwYd559nd3ROMwGOhNsFs/154sd/X++xecyvy4ZXNZqWZOJ93rl9/2SZGOjCE2YKlcJLVoctlm9rb2y176gXnXk2tESNJCJgkJlaVWRIrB87ZEfYUs7mXoJk6QgwIaBAD+PTV5dn01BXiBi6RF7yHalc7BeiBgKeIAdXZ7dMUAMA5sE72giAFE1YPZAnZ393a8h0jiqIL9VxhK58I4B3CXk4nniJdYCnoBSEyLuDGCIoANYeh8uf933Ut9C2X5umeZwv+TFQ5lqJ54ajQJZ59rnbShTYBGxVtAiKgoO9cWdLFo2QX0hhUJapNQfQFuQ0XTCoJTRNJUD4FQQcGjtl6YKI74TveDQmCcvBAEbDzZCcxYUJAkxhQe9um4hdysrnld5wR5WbC6oGHxMC5wbO+Y+YlVY6gJaTqF0aI1QP3iYGgJdW3yyvEjRpIZV5CHrINYXBxxJ9qRCaOcVll9b5Uyp+ZGB0ZJkZ2Giigmp930RJQdcoUTGLii88/8x3jAuc/+ZSiZubqR3k2Fgl3Rkxo57oxLE4SgA3KC3LKYYb8cBTONf4GKhw2lZAV4oLM1Qo7+EdTWjNrpR+9jjWoNocLe4oPIihdymEmFKy0pjexjiwTWzlvocT66OiwVZZRTmIdM3pQeYjG6oSOXGIdCA0lvYVEBHB7EAw9LZdeiUTCV9qB8jesZuAkh1VyYcmGxJIG8VakeOPY8QqYJLs2kBUMZ5RlLC1HW1wEm4dJQ1PYzBq+2FHL2+DOaKnKR8pzYfF6JOVtmOn7+FYbKph9u9wDVcA50lwfbRdYrodWXIWBSi7YzhgKLMelgCvugSog+2QShr2GvWdl0LCv5jES3d2WjUOQ4tzggFX+FgMmKffQ5d0nEkcvDKLG7hNx8ZX3gqB4IG5rMqmFiqmKB/IEdJZ289RCJVCTwIi0YyR3qIXLhnfi8NK62bA4BW82DM2JOL/QGsr27a5m2IsFk0rOfbKL1Lwshg1dl6K3/Du+IZZ4TXfLvxTvTLEfKprWdGZlxMVNah5Msq+5KK3HnuRjUtSPPXFpAhFN4nrwjksDi2hSBY9+Kru0wzkBnh/Akk+OCfcZMSaVSUW1MTiRM0M1gouDa6hIvEgQ9mM/6/UBjFNUCwj7EaDron7YFrX4ZF/ReghtNMg3OSdqS0gMV7yn+gmMCHtYx90j60+4IOQFDMm2IvQA0WCPk6SBsh3pahD/fxkBEvj4QgKDosEk54sISPOXEWgVUMURFFGeJNn37BlkB3DdrRfTs0W772xj/faG/wAnZe5yTgwtRAAAAABJRU5ErkJggg==)}.mapsindoors.position-control__button--centered{background-image:url(data:image/png;base64,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)}";
|
|
412
|
+
const mapGooglemapsCss = () => `:host{display:block}:host>div{height:100%}.mapsindoors.floor-selector{margin:10px;position:absolute;border-radius:2px;box-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.3);width:40px;font-family:Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:18px}.mapsindoors.floor-selector a{position:relative;display:block;float:none;margin-top:-1px;text-align:center;cursor:pointer;border-radius:2px;background:#fff;z-index:0;height:40px;line-height:40px}.mapsindoors.floor-selector a:hover{background:#ddd;border-color:#999;z-index:2}.mapsindoors.floor-selector a.active{background:#ddd;border-color:#00b1ff;z-index:2}.mapsindoors.floor-selector a:not(:first-child):not(:last-child){border-radius:0}.mapsindoors.floor-selector a:first-child:not(:last-child){border-top-right-radius:2px;border-bottom-right-radius:0;border-bottom-left-radius:0}.mapsindoors.floor-selector a:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:2px;border-top-left-radius:0}.mapsindoors.position-control{margin:10px;position:absolute}.mapsindoors.position-control__button{border:none;margin:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;width:40px;height:40px;background-color:transparent;background-size:cover;outline:none;box-shadow:0px 4px 4px rgba(0, 0, 0, 0.16), 0px 2px 2px rgba(0, 0, 0, 0.18), 0px 1px 1px rgba(0, 0, 0, 0.2);border-radius:50%}.mapsindoors.position-control__button--unknown{background-image:url(data:image/png;base64,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)}.mapsindoors.position-control__button--requesting{background-image:url(data:image/png;base64,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)}.mapsindoors.position-control__button--known{background-image:url(data:image/png;base64,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)}.mapsindoors.position-control__button--centered{background-image:url(data:image/png;base64,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)}`;
|
|
413
413
|
|
|
414
414
|
const MapGooglemaps = class {
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
415
|
+
constructor(hostRef) {
|
|
416
|
+
registerInstance(this, hostRef);
|
|
417
|
+
this.mapsIndoorsReady = createEvent(this, "mapsIndoorsReady", 7);
|
|
418
|
+
/**
|
|
419
|
+
* The Google Maps API key.
|
|
420
|
+
* @type {string}
|
|
421
|
+
*/
|
|
422
|
+
this.gmApiKey = '';
|
|
423
|
+
/**
|
|
424
|
+
* The MapsIndoors API key.
|
|
425
|
+
* @type {string}
|
|
426
|
+
*/
|
|
427
|
+
this.miApiKey = '';
|
|
428
|
+
/**
|
|
429
|
+
* Google Maps options. Defaults to zoom: 17, maxZoom: 21, center: { lat: 0, lng: 0 }, mapTypeControl: false, streetViewControl: false.
|
|
430
|
+
* https://developers.google.com/maps/documentation/javascript/reference/map#MapOptions
|
|
431
|
+
* @type {google.maps.MapOptions}
|
|
432
|
+
*/
|
|
433
|
+
this.gmOptions = {
|
|
434
|
+
zoom: 17,
|
|
435
|
+
maxZoom: 21,
|
|
436
|
+
center: { lat: 0, lng: 0 },
|
|
437
|
+
mapTypeControl: false,
|
|
438
|
+
streetViewControl: false
|
|
439
|
+
};
|
|
440
|
+
/**
|
|
441
|
+
* Set to true to prevent external links on the map from opening.
|
|
442
|
+
* This can be useful when running the map on a kiosk where you never want the browser to navigate away.
|
|
443
|
+
* @type {boolean}
|
|
444
|
+
*/
|
|
445
|
+
this.disableExternalLinks = false;
|
|
446
|
+
/**
|
|
447
|
+
* Styling of polygon highlight when a location is clicked.
|
|
448
|
+
* Set it to null to turn off highlighting.
|
|
449
|
+
* @type {object}
|
|
450
|
+
*/
|
|
451
|
+
this.polygonHighlightOptions = {
|
|
452
|
+
strokeColor: '#EF6CCE',
|
|
453
|
+
strokeOpacity: 1,
|
|
454
|
+
strokeWeight: 2,
|
|
455
|
+
fillColor: '#EF6CCE',
|
|
456
|
+
fillOpacity: 0.2
|
|
457
|
+
};
|
|
458
|
+
/**
|
|
459
|
+
* Set the component language. Default set to English (en). Will not react to changes.
|
|
460
|
+
*/
|
|
461
|
+
this.language = 'en';
|
|
462
|
+
/**
|
|
463
|
+
* Styling of how the polyline looks when getting a route.
|
|
464
|
+
* Color: The stroke color of direction polyline on the map. Accepts any legal HTML color value. Default: '#307ad9'.
|
|
465
|
+
* Opacity: The stroke opacity of directions polylines on the map. Numerical value between 0.0 and 1.0. Default: 1.
|
|
466
|
+
* Weight: The width of the direction polyline in pixels. Default: 4.
|
|
467
|
+
*
|
|
468
|
+
* @type {{ color: string, weight: number, opacity: number }}
|
|
469
|
+
*/
|
|
470
|
+
this.polylineOptions = {
|
|
471
|
+
color: '#3071d9',
|
|
472
|
+
opacity: 1,
|
|
473
|
+
weight: 4
|
|
474
|
+
};
|
|
475
|
+
// Directions render and service instances
|
|
476
|
+
this.directionsRendererInstance = null;
|
|
456
477
|
}
|
|
457
|
-
|
|
458
|
-
|
|
478
|
+
apiKeyChange(newApiKey) {
|
|
479
|
+
mapsindoors.MapsIndoors.setMapsIndoorsApiKey(newApiKey);
|
|
459
480
|
}
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
if (this.floorSelectorInstance) {
|
|
463
|
-
this.setFloorSelectorControl(newPosition, oldPosition);
|
|
481
|
+
gmOptionsChange(newControlOptions) {
|
|
482
|
+
this.googleMapsInstance.setOptions(newControlOptions);
|
|
464
483
|
}
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
484
|
+
setExternalLinkBehavior(shouldDisableLinks) {
|
|
485
|
+
if (shouldDisableLinks === true) {
|
|
486
|
+
this.mapElement.addEventListener('click', this.preventExternalLink);
|
|
487
|
+
}
|
|
488
|
+
else {
|
|
489
|
+
this.mapElement.removeEventListener('click', this.preventExternalLink);
|
|
490
|
+
}
|
|
469
491
|
}
|
|
470
|
-
|
|
471
|
-
|
|
492
|
+
floorSelectorControlPositionChange(newPosition, oldPosition) {
|
|
493
|
+
if (this.floorSelectorInstance) {
|
|
494
|
+
this.setFloorSelectorControl(newPosition, oldPosition);
|
|
495
|
+
}
|
|
472
496
|
}
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
strokeColor: newPolylineOptions.color ? newPolylineOptions.color : '#3071d9',
|
|
481
|
-
strokeOpacity: newPolylineOptions.opacity ? newPolylineOptions.opacity : 1,
|
|
482
|
-
strokeWeight: newPolylineOptions.weight ? newPolylineOptions.weight : 4
|
|
483
|
-
});
|
|
497
|
+
floorIndexChange(newFloor, oldFloor) {
|
|
498
|
+
if (newFloor === null) {
|
|
499
|
+
newFloor = '0'; // Setting the DOM attribute to "0" will be passed on here as null, so we need to circumvent that.
|
|
500
|
+
}
|
|
501
|
+
if (newFloor !== oldFloor && newFloor !== this.mapsIndoorsInstance.getFloor()) {
|
|
502
|
+
this.mapsIndoorsInstance.setFloor(newFloor);
|
|
503
|
+
}
|
|
484
504
|
}
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
* Get the map instance.
|
|
488
|
-
* @returns {Promise<any>}
|
|
489
|
-
*/
|
|
490
|
-
async getMapInstance() {
|
|
491
|
-
return Promise.resolve(this.googleMapsInstance);
|
|
492
|
-
}
|
|
493
|
-
/**
|
|
494
|
-
* Get the MapsIndoors instance.
|
|
495
|
-
* @returns {Promise<any>}
|
|
496
|
-
*/
|
|
497
|
-
async getMapsIndoorsInstance() {
|
|
498
|
-
return Promise.resolve(this.mapsIndoorsInstance);
|
|
499
|
-
}
|
|
500
|
-
/**
|
|
501
|
-
* Get the MapsIndoors Directions Service Instance.
|
|
502
|
-
* @returns {Promise<any>}
|
|
503
|
-
*/
|
|
504
|
-
async getDirectionsServiceInstance() {
|
|
505
|
-
return Promise.resolve(this.directionsServiceInstance);
|
|
506
|
-
}
|
|
507
|
-
/**
|
|
508
|
-
* Get the MapsIndoors Directions Renderer Instance.
|
|
509
|
-
* @returns {Promise<any>}
|
|
510
|
-
*/
|
|
511
|
-
async getDirectionsRendererInstance() {
|
|
512
|
-
return Promise.resolve(this.directionsRendererInstance);
|
|
513
|
-
}
|
|
514
|
-
/**
|
|
515
|
-
* Highlight a MapsIndoors location. Only a single location can be highlighted at the time.
|
|
516
|
-
* @param {Location} location
|
|
517
|
-
* @returns {Promise<void>}
|
|
518
|
-
*/
|
|
519
|
-
async highlightLocation(location) {
|
|
520
|
-
// Return if polygonHighlightOptions is undefined
|
|
521
|
-
if (!this.polygonHighlightOptions)
|
|
522
|
-
return;
|
|
523
|
-
// Return if already highlighted
|
|
524
|
-
if (this.highlightedLocationId && this.highlightedLocationId === location.id)
|
|
525
|
-
return;
|
|
526
|
-
// Remove previous highlight
|
|
527
|
-
if (this.highlightedLocationId) {
|
|
528
|
-
this.mapsIndoorsInstance.setDisplayRule(this.highlightedLocationId, null);
|
|
529
|
-
}
|
|
530
|
-
this.mapsIndoorsInstance.setDisplayRule(location.id, {
|
|
531
|
-
polygonVisible: true,
|
|
532
|
-
polygonZoomFrom: '0',
|
|
533
|
-
polygonZoomTo: '22',
|
|
534
|
-
zIndex: 1000,
|
|
535
|
-
polygonFillColor: this.polygonHighlightOptions.fillColor,
|
|
536
|
-
polygonFillOpacity: this.polygonHighlightOptions.fillOpacity,
|
|
537
|
-
polygonStrokeColor: this.polygonHighlightOptions.strokeColor,
|
|
538
|
-
polygonStrokeOpacity: this.polygonHighlightOptions.strokeOpacity,
|
|
539
|
-
polygonStrokeWeight: this.polygonHighlightOptions.strokeWeight
|
|
540
|
-
});
|
|
541
|
-
this.highlightedLocationId = location.id;
|
|
542
|
-
}
|
|
543
|
-
/**
|
|
544
|
-
* Clear existing MapsIndoors location highlight.
|
|
545
|
-
* @returns {Promise<void>}
|
|
546
|
-
*/
|
|
547
|
-
async clearHighlightLocation() {
|
|
548
|
-
if (this.highlightedLocationId) {
|
|
549
|
-
this.mapsIndoorsInstance.setDisplayRule(this.highlightedLocationId, null);
|
|
550
|
-
this.highlightedLocationId = null;
|
|
505
|
+
myPositionControlPositionChange(newPosition, oldPosition) {
|
|
506
|
+
this.setMyPositionControl(newPosition, oldPosition);
|
|
551
507
|
}
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
this.showFloorSelector();
|
|
561
|
-
}
|
|
562
|
-
if (this.myPositionControlPosition) {
|
|
563
|
-
this.setMyPositionControl(this.myPositionControlPosition);
|
|
508
|
+
polylineOptionsChange(newPolylineOptions) {
|
|
509
|
+
if (this.directionsRendererInstance) {
|
|
510
|
+
this.directionsRendererInstance.setOptions({
|
|
511
|
+
strokeColor: newPolylineOptions.color ? newPolylineOptions.color : '#3071d9',
|
|
512
|
+
strokeOpacity: newPolylineOptions.opacity ? newPolylineOptions.opacity : 1,
|
|
513
|
+
strokeWeight: newPolylineOptions.weight ? newPolylineOptions.weight : 4
|
|
514
|
+
});
|
|
515
|
+
}
|
|
564
516
|
}
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
/**
|
|
572
|
-
* Load the Google Maps API.
|
|
573
|
-
*
|
|
574
|
-
* @returns {Promise<void>}
|
|
575
|
-
*/
|
|
576
|
-
loadGoogleMapsApi() {
|
|
577
|
-
if (typeof (google) === 'undefined') {
|
|
578
|
-
const loader = new Loader({
|
|
579
|
-
apiKey: this.gmApiKey,
|
|
580
|
-
version: 'quarterly',
|
|
581
|
-
libraries: ['geometry', 'places']
|
|
582
|
-
});
|
|
583
|
-
return loader.load();
|
|
517
|
+
/**
|
|
518
|
+
* Get the map instance.
|
|
519
|
+
* @returns {Promise<any>}
|
|
520
|
+
*/
|
|
521
|
+
async getMapInstance() {
|
|
522
|
+
return Promise.resolve(this.googleMapsInstance);
|
|
584
523
|
}
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
524
|
+
/**
|
|
525
|
+
* Get the MapsIndoors instance.
|
|
526
|
+
* @returns {Promise<any>}
|
|
527
|
+
*/
|
|
528
|
+
async getMapsIndoorsInstance() {
|
|
529
|
+
return Promise.resolve(this.mapsIndoorsInstance);
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* Get the MapsIndoors Directions Service Instance.
|
|
533
|
+
* @returns {Promise<any>}
|
|
534
|
+
*/
|
|
535
|
+
async getDirectionsServiceInstance() {
|
|
536
|
+
return Promise.resolve(this.directionsServiceInstance);
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* Get the MapsIndoors Directions Renderer Instance.
|
|
540
|
+
* @returns {Promise<any>}
|
|
541
|
+
*/
|
|
542
|
+
async getDirectionsRendererInstance() {
|
|
543
|
+
return Promise.resolve(this.directionsRendererInstance);
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Highlight a MapsIndoors location. Only a single location can be highlighted at the time.
|
|
547
|
+
* @param {Location} location
|
|
548
|
+
* @returns {Promise<void>}
|
|
549
|
+
*/
|
|
550
|
+
async highlightLocation(location) {
|
|
551
|
+
// Return if polygonHighlightOptions is undefined
|
|
552
|
+
if (!this.polygonHighlightOptions)
|
|
553
|
+
return;
|
|
554
|
+
// Return if already highlighted
|
|
555
|
+
if (this.highlightedLocationId && this.highlightedLocationId === location.id)
|
|
556
|
+
return;
|
|
557
|
+
// Remove previous highlight
|
|
558
|
+
if (this.highlightedLocationId) {
|
|
559
|
+
this.mapsIndoorsInstance.setDisplayRule(this.highlightedLocationId, null);
|
|
618
560
|
}
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
*/
|
|
632
|
-
initializeDirectionsService() {
|
|
633
|
-
const externalDirections = new mapsindoors.directions.GoogleMapsProvider();
|
|
634
|
-
this.directionsServiceInstance = new mapsindoors.services.DirectionsService(externalDirections);
|
|
635
|
-
}
|
|
636
|
-
/**
|
|
637
|
-
* Initialize MapsIndoors Directions Renderer with render options set.
|
|
638
|
-
*/
|
|
639
|
-
initializeDirectionsRenderer() {
|
|
640
|
-
this.directionsRendererInstance = new mapsindoors.directions.DirectionsRenderer({
|
|
641
|
-
mapsIndoors: this.mapsIndoorsInstance,
|
|
642
|
-
fitBounds: true,
|
|
643
|
-
strokeColor: this.polylineOptions.color,
|
|
644
|
-
strokeOpacity: this.polylineOptions.opacity,
|
|
645
|
-
strokeWeight: this.polylineOptions.weight,
|
|
646
|
-
visible: true
|
|
647
|
-
});
|
|
648
|
-
}
|
|
649
|
-
/**
|
|
650
|
-
* Add event listeners and keep properties in sync.
|
|
651
|
-
*/
|
|
652
|
-
addEventListeners() {
|
|
653
|
-
this.mapsIndoorsInstance.on('click', (location) => {
|
|
654
|
-
this.highlightLocation(location);
|
|
655
|
-
});
|
|
656
|
-
// Add floor changed event listener
|
|
657
|
-
this.mapsIndoorsInstance.on('floor_changed', (floorIndex) => {
|
|
658
|
-
this.floorIndex = floorIndex;
|
|
659
|
-
});
|
|
660
|
-
}
|
|
661
|
-
/**
|
|
662
|
-
* Prevent external links from opening.
|
|
663
|
-
* @param {MouseEvent} event
|
|
664
|
-
*/
|
|
665
|
-
preventExternalLink(event) {
|
|
666
|
-
const externalLink = event.target.closest('a[target="_blank"]');
|
|
667
|
-
if (externalLink) {
|
|
668
|
-
event.preventDefault();
|
|
561
|
+
this.mapsIndoorsInstance.setDisplayRule(location.id, {
|
|
562
|
+
polygonVisible: true,
|
|
563
|
+
polygonZoomFrom: '0',
|
|
564
|
+
polygonZoomTo: '22',
|
|
565
|
+
zIndex: 1000,
|
|
566
|
+
polygonFillColor: this.polygonHighlightOptions.fillColor,
|
|
567
|
+
polygonFillOpacity: this.polygonHighlightOptions.fillOpacity,
|
|
568
|
+
polygonStrokeColor: this.polygonHighlightOptions.strokeColor,
|
|
569
|
+
polygonStrokeOpacity: this.polygonHighlightOptions.strokeOpacity,
|
|
570
|
+
polygonStrokeWeight: this.polygonHighlightOptions.strokeWeight
|
|
571
|
+
});
|
|
572
|
+
this.highlightedLocationId = location.id;
|
|
669
573
|
}
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
* @param {string} controlPosition - the position from where to remove the control
|
|
680
|
-
* @param {string} className - the class name of the control to remove
|
|
681
|
-
*/
|
|
682
|
-
removeGoogleMapControl(controlPosition, className) {
|
|
683
|
-
const controls = this.googleMapsInstance.controls[google.maps.ControlPosition[controlPosition]].getArray();
|
|
684
|
-
const controlIndex = controls.findIndex(control => control.classList.contains(className));
|
|
685
|
-
this.googleMapsInstance.controls[google.maps.ControlPosition[controlPosition]].removeAt(controlIndex);
|
|
686
|
-
}
|
|
687
|
-
/**
|
|
688
|
-
* Set, update or unset floor selector on the map.
|
|
689
|
-
* @param {string} controlPosition
|
|
690
|
-
* @param {string} [oldControlPosition=undefined]
|
|
691
|
-
*/
|
|
692
|
-
setFloorSelectorControl(controlPosition, oldControlPosition = undefined) {
|
|
693
|
-
if (controlPosition === null) {
|
|
694
|
-
// If attribute is not set, clear control and unset floor selector.
|
|
695
|
-
this.removeGoogleMapControl(oldControlPosition, 'floor-selector');
|
|
696
|
-
this.floorSelectorElement = null;
|
|
697
|
-
this.floorSelectorInstance = null;
|
|
698
|
-
}
|
|
699
|
-
else if (!this.floorSelectorInstance) {
|
|
700
|
-
// Create new floor selector control
|
|
701
|
-
this.floorSelectorElement = document.createElement('div');
|
|
702
|
-
this.floorSelectorInstance = new mapsindoors.FloorSelector(this.floorSelectorElement, this.mapsIndoorsInstance);
|
|
703
|
-
this.googleMapsInstance.controls[google.maps.ControlPosition[controlPosition]].push(this.floorSelectorElement);
|
|
704
|
-
}
|
|
705
|
-
else {
|
|
706
|
-
// Update position of floor selector control
|
|
707
|
-
this.removeGoogleMapControl(oldControlPosition, 'floor-selector');
|
|
708
|
-
this.googleMapsInstance.controls[google.maps.ControlPosition[controlPosition]].push(this.floorSelectorElement);
|
|
574
|
+
/**
|
|
575
|
+
* Clear existing MapsIndoors location highlight.
|
|
576
|
+
* @returns {Promise<void>}
|
|
577
|
+
*/
|
|
578
|
+
async clearHighlightLocation() {
|
|
579
|
+
if (this.highlightedLocationId) {
|
|
580
|
+
this.mapsIndoorsInstance.setDisplayRule(this.highlightedLocationId, null);
|
|
581
|
+
this.highlightedLocationId = null;
|
|
582
|
+
}
|
|
709
583
|
}
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
}
|
|
723
|
-
else if (!this.positionControlInstance) {
|
|
724
|
-
// Create new my position control
|
|
725
|
-
this.positionControlElement = document.createElement('div');
|
|
726
|
-
this.positionControlInstance = new mapsindoors.PositionControl(this.positionControlElement, { mapsIndoors: this.mapsIndoorsInstance, positionOptions: { enableHighAccuracy: false, maximumAge: 300000, timeout: 10000 } });
|
|
727
|
-
this.googleMapsInstance.controls[google.maps.ControlPosition[controlPosition]].push(this.positionControlElement);
|
|
728
|
-
}
|
|
729
|
-
else {
|
|
730
|
-
// Update position of my position control
|
|
731
|
-
this.removeGoogleMapControl(oldControlPosition, 'position-control');
|
|
732
|
-
this.googleMapsInstance.controls[google.maps.ControlPosition[controlPosition]].push(this.positionControlElement);
|
|
584
|
+
async componentDidLoad() {
|
|
585
|
+
await this.loadGoogleMapsApi();
|
|
586
|
+
await this.initializeMapsIndoorsSDK();
|
|
587
|
+
await this.setupMap();
|
|
588
|
+
this.setExternalLinkBehavior(this.disableExternalLinks);
|
|
589
|
+
this.addEventListeners();
|
|
590
|
+
if (this.floorSelectorControlPosition) {
|
|
591
|
+
this.showFloorSelector();
|
|
592
|
+
}
|
|
593
|
+
if (this.myPositionControlPosition) {
|
|
594
|
+
this.setMyPositionControl(this.myPositionControlPosition);
|
|
595
|
+
}
|
|
733
596
|
}
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
597
|
+
disconnectedCallback() {
|
|
598
|
+
this.mapsIndoorsInstance.deallocate();
|
|
599
|
+
this.mapElement.remove();
|
|
600
|
+
this.mapElement = null;
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* Load the Google Maps API.
|
|
604
|
+
*
|
|
605
|
+
* @returns {Promise<void>}
|
|
606
|
+
*/
|
|
607
|
+
loadGoogleMapsApi() {
|
|
608
|
+
if (typeof (google) === 'undefined') {
|
|
609
|
+
const loader = new Loader({
|
|
610
|
+
apiKey: this.gmApiKey,
|
|
611
|
+
version: 'quarterly',
|
|
612
|
+
libraries: ['geometry', 'places']
|
|
613
|
+
});
|
|
614
|
+
return loader.load();
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
/**
|
|
618
|
+
* Ensure that MapsIndoors Web SDK is available.
|
|
619
|
+
*
|
|
620
|
+
* @returns {Promise<void>}
|
|
621
|
+
*/
|
|
622
|
+
initializeMapsIndoorsSDK() {
|
|
623
|
+
return new Promise((resolve) => {
|
|
624
|
+
if (typeof (mapsindoors) !== 'undefined') {
|
|
625
|
+
mapsindoors.MapsIndoors.setMapsIndoorsApiKey(this.miApiKey);
|
|
626
|
+
mapsindoors.MapsIndoors.setLanguage(this.language);
|
|
627
|
+
return resolve();
|
|
628
|
+
}
|
|
629
|
+
const miSdkApiTag = document.createElement('script');
|
|
630
|
+
miSdkApiTag.setAttribute('type', 'text/javascript');
|
|
631
|
+
miSdkApiTag.setAttribute('src', `${miVariables.miSDKUrlV4}?apikey=${this.miApiKey}`);
|
|
632
|
+
document.body.appendChild(miSdkApiTag);
|
|
633
|
+
miSdkApiTag.onload = () => resolve();
|
|
634
|
+
});
|
|
635
|
+
}
|
|
636
|
+
/**
|
|
637
|
+
* Start Google Maps and MapsIndoors.
|
|
638
|
+
*/
|
|
639
|
+
setupMap() {
|
|
640
|
+
return new Promise((resolve) => {
|
|
641
|
+
const mapViewOptions = Object.assign({ element: this.mapElement }, this.gmOptions);
|
|
642
|
+
const mapViewInstance = new mapsindoors.mapView.GoogleMapsView(mapViewOptions);
|
|
643
|
+
this.googleMapsInstance = mapViewInstance.getMap();
|
|
644
|
+
this.mapsIndoorsInstance = new mapsindoors.MapsIndoors({ mapView: mapViewInstance });
|
|
645
|
+
this.mapsIndoorsInstance.on('ready', async () => {
|
|
646
|
+
if (this.floorIndex !== undefined) {
|
|
647
|
+
// Set the floor if floor attribute was set in the DOM initially
|
|
648
|
+
this.mapsIndoorsInstance.setFloor(this.floorIndex);
|
|
649
|
+
}
|
|
650
|
+
else {
|
|
651
|
+
this.floorIndex = this.mapsIndoorsInstance.getFloor();
|
|
652
|
+
}
|
|
653
|
+
this.initializeDirectionsService();
|
|
654
|
+
this.initializeDirectionsRenderer();
|
|
655
|
+
this.mapsIndoorsReady.emit();
|
|
656
|
+
resolve();
|
|
657
|
+
});
|
|
658
|
+
});
|
|
659
|
+
}
|
|
660
|
+
/**
|
|
661
|
+
* Initialize MapsIndoors Directions Service.
|
|
662
|
+
*/
|
|
663
|
+
initializeDirectionsService() {
|
|
664
|
+
const externalDirections = new mapsindoors.directions.GoogleMapsProvider();
|
|
665
|
+
this.directionsServiceInstance = new mapsindoors.services.DirectionsService(externalDirections);
|
|
666
|
+
}
|
|
667
|
+
/**
|
|
668
|
+
* Initialize MapsIndoors Directions Renderer with render options set.
|
|
669
|
+
*/
|
|
670
|
+
initializeDirectionsRenderer() {
|
|
671
|
+
this.directionsRendererInstance = new mapsindoors.directions.DirectionsRenderer({
|
|
672
|
+
mapsIndoors: this.mapsIndoorsInstance,
|
|
673
|
+
fitBounds: true,
|
|
674
|
+
strokeColor: this.polylineOptions.color,
|
|
675
|
+
strokeOpacity: this.polylineOptions.opacity,
|
|
676
|
+
strokeWeight: this.polylineOptions.weight,
|
|
677
|
+
visible: true
|
|
678
|
+
});
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* Add event listeners and keep properties in sync.
|
|
682
|
+
*/
|
|
683
|
+
addEventListeners() {
|
|
684
|
+
this.mapsIndoorsInstance.on('click', (location) => {
|
|
685
|
+
this.highlightLocation(location);
|
|
686
|
+
});
|
|
687
|
+
// Add floor changed event listener
|
|
688
|
+
this.mapsIndoorsInstance.on('floor_changed', (floorIndex) => {
|
|
689
|
+
this.floorIndex = floorIndex;
|
|
690
|
+
});
|
|
691
|
+
}
|
|
692
|
+
/**
|
|
693
|
+
* Prevent external links from opening.
|
|
694
|
+
* @param {MouseEvent} event
|
|
695
|
+
*/
|
|
696
|
+
preventExternalLink(event) {
|
|
697
|
+
const externalLink = event.target.closest('a[target="_blank"]');
|
|
698
|
+
if (externalLink) {
|
|
699
|
+
event.preventDefault();
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
/**
|
|
703
|
+
* Show the floor selector.
|
|
704
|
+
*/
|
|
705
|
+
showFloorSelector() {
|
|
706
|
+
this.setFloorSelectorControl(this.floorSelectorControlPosition);
|
|
707
|
+
}
|
|
708
|
+
/**
|
|
709
|
+
* Remove a Google Map Control from the map based on class name of the control.
|
|
710
|
+
* @param {string} controlPosition - the position from where to remove the control
|
|
711
|
+
* @param {string} className - the class name of the control to remove
|
|
712
|
+
*/
|
|
713
|
+
removeGoogleMapControl(controlPosition, className) {
|
|
714
|
+
const controls = this.googleMapsInstance.controls[google.maps.ControlPosition[controlPosition]].getArray();
|
|
715
|
+
const controlIndex = controls.findIndex(control => control.classList.contains(className));
|
|
716
|
+
this.googleMapsInstance.controls[google.maps.ControlPosition[controlPosition]].removeAt(controlIndex);
|
|
717
|
+
}
|
|
718
|
+
/**
|
|
719
|
+
* Set, update or unset floor selector on the map.
|
|
720
|
+
* @param {string} controlPosition
|
|
721
|
+
* @param {string} [oldControlPosition=undefined]
|
|
722
|
+
*/
|
|
723
|
+
setFloorSelectorControl(controlPosition, oldControlPosition = undefined) {
|
|
724
|
+
if (controlPosition === null) {
|
|
725
|
+
// If attribute is not set, clear control and unset floor selector.
|
|
726
|
+
this.removeGoogleMapControl(oldControlPosition, 'floor-selector');
|
|
727
|
+
this.floorSelectorElement = null;
|
|
728
|
+
this.floorSelectorInstance = null;
|
|
729
|
+
}
|
|
730
|
+
else if (!this.floorSelectorInstance) {
|
|
731
|
+
// Create new floor selector control
|
|
732
|
+
this.floorSelectorElement = document.createElement('div');
|
|
733
|
+
this.floorSelectorInstance = new mapsindoors.FloorSelector(this.floorSelectorElement, this.mapsIndoorsInstance);
|
|
734
|
+
this.googleMapsInstance.controls[google.maps.ControlPosition[controlPosition]].push(this.floorSelectorElement);
|
|
735
|
+
}
|
|
736
|
+
else {
|
|
737
|
+
// Update position of floor selector control
|
|
738
|
+
this.removeGoogleMapControl(oldControlPosition, 'floor-selector');
|
|
739
|
+
this.googleMapsInstance.controls[google.maps.ControlPosition[controlPosition]].push(this.floorSelectorElement);
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
/**
|
|
743
|
+
* Set, update or unset position control on the map.
|
|
744
|
+
* @param {string} controlPosition
|
|
745
|
+
* @param {string} oldControlPosition
|
|
746
|
+
*/
|
|
747
|
+
setMyPositionControl(controlPosition, oldControlPosition = undefined) {
|
|
748
|
+
if (controlPosition === null) {
|
|
749
|
+
// If attribute is not set, clear control and unset position control.
|
|
750
|
+
this.removeGoogleMapControl(google.maps.ControlPosition[oldControlPosition], 'position-control');
|
|
751
|
+
this.positionControlElement = null;
|
|
752
|
+
this.positionControlInstance = null;
|
|
753
|
+
}
|
|
754
|
+
else if (!this.positionControlInstance) {
|
|
755
|
+
// Create new my position control
|
|
756
|
+
this.positionControlElement = document.createElement('div');
|
|
757
|
+
this.positionControlInstance = new mapsindoors.PositionControl(this.positionControlElement, { mapsIndoors: this.mapsIndoorsInstance, positionOptions: { enableHighAccuracy: false, maximumAge: 300000, timeout: 10000 } });
|
|
758
|
+
this.googleMapsInstance.controls[google.maps.ControlPosition[controlPosition]].push(this.positionControlElement);
|
|
759
|
+
}
|
|
760
|
+
else {
|
|
761
|
+
// Update position of my position control
|
|
762
|
+
this.removeGoogleMapControl(oldControlPosition, 'position-control');
|
|
763
|
+
this.googleMapsInstance.controls[google.maps.ControlPosition[controlPosition]].push(this.positionControlElement);
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
render() {
|
|
767
|
+
return (h("div", { key: '4de72ef7235db42765f97ad5e3d92d4080876225', ref: (el) => this.mapElement = el }));
|
|
768
|
+
}
|
|
769
|
+
static get watchers() { return {
|
|
770
|
+
"miApiKey": [{
|
|
771
|
+
"apiKeyChange": 0
|
|
772
|
+
}],
|
|
773
|
+
"gmOptions": [{
|
|
774
|
+
"gmOptionsChange": 0
|
|
775
|
+
}],
|
|
776
|
+
"disableExternalLinks": [{
|
|
777
|
+
"setExternalLinkBehavior": 0
|
|
778
|
+
}],
|
|
779
|
+
"floorSelectorControlPosition": [{
|
|
780
|
+
"floorSelectorControlPositionChange": 0
|
|
781
|
+
}],
|
|
782
|
+
"floorIndex": [{
|
|
783
|
+
"floorIndexChange": 0
|
|
784
|
+
}],
|
|
785
|
+
"myPositionControlPosition": [{
|
|
786
|
+
"myPositionControlPositionChange": 0
|
|
787
|
+
}],
|
|
788
|
+
"polylineOptions": [{
|
|
789
|
+
"polylineOptionsChange": 0
|
|
790
|
+
}]
|
|
791
|
+
}; }
|
|
747
792
|
};
|
|
748
|
-
MapGooglemaps.style = mapGooglemapsCss;
|
|
793
|
+
MapGooglemaps.style = mapGooglemapsCss();
|
|
749
794
|
|
|
750
795
|
export { MapGooglemaps as mi_map_googlemaps };
|