@rio-cloud/rio-uikit 0.16.2-beta.3 → 0.16.2-beta.4
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/.DS_Store +0 -0
- package/components/.DS_Store +0 -0
- package/components/filepicker/FilePicker.js +5 -4
- package/components/map/.DS_Store +0 -0
- package/components/map/assets/icon_map_settings_maptype_night_active.svg +12 -0
- package/components/map/assets/icon_map_settings_maptype_night_inactive.svg +12 -0
- package/components/map/components/.DS_Store +0 -0
- package/components/map/components/Map.js +54 -44
- package/components/map/components/constants.js +2 -4
- package/components/map/components/features/layers/baselayers/DefaultRasterLayer.js +4 -5
- package/components/map/components/features/layers/baselayers/DefaultVectorLayer.js +4 -3
- package/components/map/components/features/layers/baselayers/FleetStyleLayer.js +2 -2
- package/components/map/components/features/layers/baselayers/NightLayer.js +17 -0
- package/components/map/components/features/layers/baselayers/SatelliteLayer.js +2 -2
- package/components/map/components/features/layers/baselayers/TerrainLayer.js +2 -2
- package/components/map/components/features/layers/baselayers/useBaseLayer.js +27 -15
- package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +9 -3
- package/components/map/components/mapUtils.js +37 -7
- package/components/map/icons/MapIcon.js +64 -0
- package/components/mapMarker/SingleMapMarker.js +6 -0
- package/components/numberControl/NumberControl.js +34 -11
- package/components/numberInput/NumberInput.js +52 -50
- package/hooks/useDarkMode.js +29 -0
- package/hooks/useMutationObserver.js +29 -0
- package/lib/.DS_Store +0 -0
- package/lib/es/.DS_Store +0 -0
- package/lib/es/components/.DS_Store +0 -0
- package/lib/es/components/filepicker/FilePicker.js +5 -4
- package/lib/es/components/map/assets/icon_map_settings_maptype_night_active.svg +12 -0
- package/lib/es/components/map/assets/icon_map_settings_maptype_night_inactive.svg +12 -0
- package/lib/es/components/map/components/Map.js +53 -43
- package/lib/es/components/map/components/constants.js +3 -4
- package/lib/es/components/map/components/features/layers/baselayers/DefaultRasterLayer.js +4 -5
- package/lib/es/components/map/components/features/layers/baselayers/DefaultVectorLayer.js +4 -3
- package/lib/es/components/map/components/features/layers/baselayers/FleetStyleLayer.js +2 -2
- package/lib/es/components/map/components/features/layers/baselayers/NightLayer.js +23 -0
- package/lib/es/components/map/components/features/layers/baselayers/SatelliteLayer.js +2 -2
- package/lib/es/components/map/components/features/layers/baselayers/TerrainLayer.js +2 -2
- package/lib/es/components/map/components/features/layers/baselayers/useBaseLayer.js +28 -16
- package/lib/es/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +7 -1
- package/lib/es/components/map/components/mapUtils.js +37 -7
- package/lib/es/components/map/icons/MapIcon.js +67 -1
- package/lib/es/components/mapMarker/SingleMapMarker.js +6 -0
- package/lib/es/components/numberControl/NumberControl.js +33 -10
- package/lib/es/components/numberInput/NumberInput.js +51 -50
- package/lib/es/hooks/useDarkMode.js +37 -0
- package/lib/es/hooks/useMutationObserver.js +35 -0
- package/lib/es/styles/.DS_Store +0 -0
- package/lib/es/styles/components/Dialog.less +1 -1
- package/lib/es/styles/mapping/color-map.less +11 -11
- package/lib/es/themes/.DS_Store +0 -0
- package/lib/es/themes/Website/styles/rio-website.less +10 -5
- package/lib/es/types.ts +8 -2
- package/lib/es/utils/colorScheme.js +12 -3
- package/lib/es/version.json +1 -1
- package/package.json +2 -2
- package/styles/.DS_Store +0 -0
- package/styles/components/Dialog.less +1 -1
- package/styles/mapping/color-map.less +11 -11
- package/themes/.DS_Store +0 -0
- package/themes/Volkswagen/.DS_Store +0 -0
- package/themes/Website/.DS_Store +0 -0
- package/themes/Website/styles/rio-website.less +10 -5
- package/types.ts +8 -2
- package/utils/colorScheme.js +7 -3
- package/version.json +1 -1
package/.DS_Store
ADDED
|
Binary file
|
|
Binary file
|
|
@@ -5,7 +5,6 @@ import React, { useCallback, useRef } from 'react';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import Dropzone, { useDropzone } from 'react-dropzone';
|
|
7
7
|
import Button from '../button/Button';
|
|
8
|
-
import classNames from 'classnames';
|
|
9
8
|
var FilePicker = function FilePicker(props) {
|
|
10
9
|
var label = props.label,
|
|
11
10
|
accept = props.accept,
|
|
@@ -23,7 +22,10 @@ var FilePicker = function FilePicker(props) {
|
|
|
23
22
|
var showButton = isButton || isFull;
|
|
24
23
|
var showDropzone = isDropzone || isFull;
|
|
25
24
|
var handleDrop = useCallback(function (acceptedFiles, rejectedFiles) {
|
|
26
|
-
var
|
|
25
|
+
var hasImagesType = Object.keys(accept).some(function (mimeType) {
|
|
26
|
+
return mimeType.startsWith('image');
|
|
27
|
+
});
|
|
28
|
+
var files = hasImagesType ? acceptedFiles.map(function (file) {
|
|
27
29
|
return Object.assign(file, {
|
|
28
30
|
preview: URL.createObjectURL(file)
|
|
29
31
|
});
|
|
@@ -60,7 +62,6 @@ FilePicker.defaultProps = {
|
|
|
60
62
|
displayMode: 'button',
|
|
61
63
|
multiple: true,
|
|
62
64
|
label: 'Select Files',
|
|
63
|
-
accept: '',
|
|
64
65
|
onPick: function onPick() {},
|
|
65
66
|
className: ''
|
|
66
67
|
};
|
|
@@ -68,7 +69,7 @@ FilePicker.propTypes = {
|
|
|
68
69
|
displayMode: PropTypes.string /* Display mode: 'dropzone' / 'button' / 'full' */,
|
|
69
70
|
multiple: PropTypes.bool /* Allow multiple file selections or not */,
|
|
70
71
|
label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]) /* Text to display on Button */,
|
|
71
|
-
accept: PropTypes.
|
|
72
|
+
accept: PropTypes.object /* Object list of accepted Mime Types as keys and file extensions array as value */,
|
|
72
73
|
maxSize: PropTypes.number /* Maximum File Size */,
|
|
73
74
|
onPick: PropTypes.func /* Pick callback */,
|
|
74
75
|
className: PropTypes.string /* Custom className for the displayed component (dropzone/button) */,
|
|
Binary file
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 20.322L19.98 31.644L39.96 20.322L19.98 9L0 20.322ZM5.363 22.178C5.363 22.178 2.01 20.254 2.01 20.256L5.363 18.354L8.717 20.254L5.363 22.178V22.178ZM8.98 24.24L5.626 22.317L8.98 20.417L12.333 22.316L8.98 24.24ZM12.614 26.277C12.614 26.277 9.261 24.352 9.261 24.354L12.614 22.454L15.967 24.352L12.614 26.277V26.277ZM16.25 28.317L12.897 26.394L16.25 24.494L19.603 26.393L16.25 28.317V28.317ZM19.887 30.392L16.534 28.469L19.887 26.569L23.241 28.468L19.887 30.392ZM9.11 20.128C9.11 20.128 5.757 18.204 5.757 18.206L9.11 16.304L12.464 18.204L9.11 20.128V20.128ZM12.727 22.19L9.373 20.267L12.727 18.367L16.08 20.266L12.727 22.19V22.19ZM16.361 24.227L13.008 22.304L16.361 20.404L19.714 22.303L16.361 24.227V24.227ZM19.997 26.267C19.997 26.267 16.644 24.343 16.644 24.345L19.997 22.443L23.35 24.343L19.997 26.267V26.267ZM23.634 28.342L20.28 26.419L23.633 24.519L26.987 26.418L23.633 28.342H23.634V28.342ZM12.76 18.038C12.76 18.038 9.407 16.114 9.407 16.116L12.76 14.214L16.113 16.114L12.76 18.038ZM16.376 20.1L13.023 18.177L16.376 16.277L19.729 18.176L16.376 20.1ZM20.011 22.137C20.011 22.137 16.658 20.212 16.658 20.214L20.011 18.313L23.364 20.213L20.011 22.137V22.137ZM23.647 24.177L20.294 22.254L23.647 20.354L27 22.253L23.647 24.177ZM27.284 26.252L23.931 24.329L27.284 22.429L30.637 24.328L27.284 26.252V26.252ZM16.367 15.964L13.014 14.041L16.367 12.141L19.721 14.04L16.367 15.964V15.964ZM19.983 18.026L16.63 16.102L19.983 14.202L23.337 16.101L19.983 18.025V18.026ZM23.618 20.063C23.618 20.063 20.265 18.138 20.265 18.14L23.618 16.239L26.971 18.139L23.618 20.063ZM27.254 22.103L23.901 20.18L27.254 18.28L30.607 20.179L27.254 22.103V22.103ZM30.891 24.178C30.891 24.178 27.538 22.253 27.538 22.255L30.891 20.355L34.244 22.253L30.891 24.178V24.178ZM20.061 13.835C20.061 13.835 16.707 11.91 16.707 11.912L20.06 10.011L23.413 11.911L20.06 13.835H20.061V13.835ZM23.676 15.896C23.676 15.896 20.323 13.972 20.323 13.974L23.676 12.073L27.03 13.972L23.676 15.896ZM27.311 17.933C27.311 17.933 23.958 16.009 23.958 16.011L27.311 14.109L30.664 16.009L27.311 17.933ZM30.947 19.973C30.947 19.973 27.594 18.049 27.594 18.051L30.947 16.15L34.3 18.05L30.947 19.973V19.973ZM34.584 22.048C34.584 22.048 31.231 20.124 31.231 20.126L34.584 18.225L37.937 20.124L34.584 22.048Z" fill="#30B4C0"/>
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.352 3.14533C12.4221 3.2154 12.4698 3.3047 12.489 3.40192C12.5082 3.49913 12.4981 3.59987 12.46 3.69133C12.1552 4.42281 11.9989 5.20757 12 6C12 7.5913 12.6321 9.11742 13.7574 10.2426C14.8826 11.3679 16.4087 12 18 12C18.7924 12.0011 19.5772 11.8448 20.3087 11.54C20.4001 11.5019 20.5007 11.4919 20.5978 11.5111C20.695 11.5303 20.7842 11.5779 20.8543 11.6478C20.9243 11.7178 20.972 11.807 20.9913 11.9041C21.0106 12.0012 21.0006 12.1019 20.9627 12.1933C20.4307 13.4688 19.5332 14.5584 18.3831 15.3248C17.2331 16.0911 15.882 16.5 14.5 16.5C10.634 16.5 7.5 13.366 7.5 9.5C7.5 6.588 9.278 4.092 11.8067 3.03733C11.898 2.99935 11.9986 2.98933 12.0957 3.00856C12.1928 3.02778 12.282 3.07538 12.352 3.14533V3.14533Z" fill="#30B4C0"/>
|
|
4
|
+
<g clip-path="url(#clip0_1_2)">
|
|
5
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M25.5 4.25C25.5815 4.25002 25.6607 4.27657 25.7258 4.32565C25.7908 4.37473 25.8381 4.44365 25.8605 4.522L26.267 5.945C26.3545 6.25146 26.5187 6.53055 26.7441 6.75591C26.9695 6.98128 27.2485 7.14548 27.555 7.233L28.978 7.6395C29.0563 7.66193 29.1252 7.70924 29.1742 7.77428C29.2232 7.83932 29.2497 7.91855 29.2497 8C29.2497 8.08145 29.2232 8.16068 29.1742 8.22572C29.1252 8.29076 29.0563 8.33807 28.978 8.3605L27.555 8.767C27.2485 8.85452 26.9695 9.01872 26.7441 9.24409C26.5187 9.46945 26.3545 9.74854 26.267 10.055L25.8605 11.478C25.8381 11.5563 25.7908 11.6252 25.7257 11.6742C25.6607 11.7232 25.5815 11.7497 25.5 11.7497C25.4186 11.7497 25.3393 11.7232 25.2743 11.6742C25.2092 11.6252 25.1619 11.5563 25.1395 11.478L24.733 10.055C24.6455 9.74854 24.4813 9.46945 24.2559 9.24409C24.0306 9.01872 23.7515 8.85452 23.445 8.767L22.022 8.3605C21.9437 8.33807 21.8748 8.29076 21.8258 8.22572C21.7768 8.16068 21.7503 8.08145 21.7503 8C21.7503 7.91855 21.7768 7.83932 21.8258 7.77428C21.8748 7.70924 21.9437 7.66193 22.022 7.6395L23.445 7.233C23.7515 7.14548 24.0306 6.98128 24.2559 6.75591C24.4813 6.53055 24.6455 6.25146 24.733 5.945L25.1395 4.522C25.1619 4.44365 25.2092 4.37473 25.2742 4.32565C25.3393 4.27657 25.4185 4.25002 25.5 4.25ZM30 2.75C30.0837 2.74995 30.1649 2.77788 30.2309 2.82934C30.2968 2.8808 30.3437 2.95284 30.364 3.034L30.493 3.552C30.611 4.022 30.978 4.389 31.448 4.507L31.966 4.636C32.0473 4.65614 32.1195 4.70293 32.1712 4.7689C32.2228 4.83487 32.2508 4.91623 32.2508 5C32.2508 5.08377 32.2228 5.16513 32.1712 5.2311C32.1195 5.29707 32.0473 5.34386 31.966 5.364L31.448 5.493C30.978 5.611 30.611 5.978 30.493 6.448L30.364 6.966C30.3439 7.04731 30.2971 7.11954 30.2311 7.17117C30.1651 7.22279 30.0838 7.25084 30 7.25084C29.9162 7.25084 29.8349 7.22279 29.7689 7.17117C29.7029 7.11954 29.6561 7.04731 29.636 6.966L29.507 6.448C29.4493 6.21721 29.33 6.00645 29.1618 5.83824C28.9936 5.67003 28.7828 5.55069 28.552 5.493L28.034 5.364C27.9527 5.34386 27.8805 5.29707 27.8288 5.2311C27.7772 5.16513 27.7492 5.08377 27.7492 5C27.7492 4.91623 27.7772 4.83487 27.8288 4.7689C27.8805 4.70293 27.9527 4.65614 28.034 4.636L28.552 4.507C28.7828 4.44931 28.9936 4.32997 29.1618 4.16176C29.33 3.99355 29.4493 3.78279 29.507 3.552L29.636 3.034C29.6563 2.95284 29.7032 2.8808 29.7691 2.82934C29.8351 2.77788 29.9163 2.74995 30 2.75V2.75ZM29.25 9.5C29.3288 9.49995 29.4055 9.52471 29.4694 9.57075C29.5333 9.61679 29.5811 9.68178 29.606 9.7565L29.803 10.348C29.878 10.5715 30.053 10.7475 30.277 10.822L30.8685 11.0195C30.943 11.0445 31.0077 11.0923 31.0536 11.1561C31.0995 11.2198 31.1242 11.2964 31.1242 11.375C31.1242 11.4536 31.0995 11.5302 31.0536 11.5939C31.0077 11.6577 30.943 11.7055 30.8685 11.7305L30.277 11.928C30.0535 12.003 29.8775 12.178 29.803 12.402L29.6055 12.9935C29.5805 13.068 29.5327 13.1327 29.4689 13.1786C29.4052 13.2245 29.3286 13.2491 29.25 13.2491C29.1714 13.2491 29.0949 13.2245 29.0311 13.1786C28.9673 13.1327 28.9195 13.068 28.8945 12.9935L28.697 12.402C28.6602 12.2916 28.5982 12.1914 28.5159 12.1091C28.4336 12.0268 28.3334 11.9648 28.223 11.928L27.6315 11.7305C27.557 11.7055 27.4923 11.6577 27.4464 11.5939C27.4005 11.5302 27.3759 11.4536 27.3759 11.375C27.3759 11.2964 27.4005 11.2198 27.4464 11.1561C27.4923 11.0923 27.557 11.0445 27.6315 11.0195L28.223 10.822C28.4465 10.747 28.6225 10.572 28.697 10.348L28.8945 9.7565C28.9194 9.68186 28.9671 9.61693 29.0309 9.57089C29.0947 9.52486 29.1713 9.50006 29.25 9.5V9.5Z" fill="#30B4C0"/>
|
|
6
|
+
</g>
|
|
7
|
+
<defs>
|
|
8
|
+
<clipPath id="clip0_1_2">
|
|
9
|
+
<rect width="12" height="12" fill="white" transform="translate(21 2)"/>
|
|
10
|
+
</clipPath>
|
|
11
|
+
</defs>
|
|
12
|
+
</svg>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.0199966 20.2L20 31.522L39.98 20.2L20 8.878L0.0199966 20.2ZM5.383 22.056C5.383 22.056 2.03 20.132 2.03 20.134L5.383 18.232L8.737 20.132L5.383 22.056V22.056ZM9 24.118L5.646 22.195L9 20.295L12.353 22.194L9 24.118ZM12.634 26.155C12.634 26.155 9.281 24.23 9.281 24.232L12.634 22.332L15.987 24.23L12.634 26.155V26.155ZM16.27 28.195L12.917 26.272L16.27 24.372L19.623 26.271L16.27 28.195V28.195ZM19.907 30.27L16.554 28.347L19.907 26.447L23.261 28.346L19.907 30.27ZM9.13 20.006C9.13 20.006 5.777 18.082 5.777 18.084L9.13 16.182L12.484 18.082L9.13 20.006V20.006ZM12.747 22.068L9.393 20.145L12.747 18.245L16.1 20.144L12.747 22.068V22.068ZM16.381 24.105L13.028 22.182L16.381 20.282L19.734 22.181L16.381 24.105V24.105ZM20.017 26.145C20.017 26.145 16.664 24.221 16.664 24.223L20.017 22.321L23.37 24.221L20.017 26.145V26.145ZM23.654 28.22L20.3 26.297L23.653 24.397L27.007 26.296L23.653 28.22H23.654V28.22ZM12.78 17.916C12.78 17.916 9.427 15.992 9.427 15.994L12.78 14.092L16.133 15.992L12.78 17.916ZM16.396 19.978L13.043 18.055L16.396 16.155L19.749 18.054L16.396 19.978ZM20.031 22.015C20.031 22.015 16.678 20.09 16.678 20.092L20.031 18.191L23.384 20.091L20.031 22.015V22.015ZM23.667 24.055L20.314 22.132L23.667 20.232L27.02 22.131L23.667 24.055ZM27.304 26.13L23.951 24.207L27.304 22.307L30.657 24.206L27.304 26.13V26.13ZM16.387 15.842L13.034 13.919L16.387 12.019L19.741 13.918L16.387 15.842V15.842ZM20.003 17.904L16.65 15.98L20.003 14.08L23.357 15.979L20.003 17.903V17.904ZM23.638 19.941C23.638 19.941 20.285 18.016 20.285 18.018L23.638 16.117L26.991 18.017L23.638 19.941ZM27.274 21.981L23.921 20.058L27.274 18.158L30.627 20.057L27.274 21.981V21.981ZM30.911 24.056C30.911 24.056 27.558 22.131 27.558 22.133L30.911 20.233L34.264 22.131L30.911 24.056V24.056ZM20.081 13.713C20.081 13.713 16.727 11.788 16.727 11.79L20.08 9.889L23.433 11.789L20.08 13.713H20.081V13.713ZM23.696 15.774C23.696 15.774 20.343 13.85 20.343 13.852L23.696 11.951L27.05 13.85L23.696 15.774ZM27.331 17.811C27.331 17.811 23.978 15.887 23.978 15.889L27.331 13.987L30.684 15.887L27.331 17.811ZM30.967 19.851C30.967 19.851 27.614 17.927 27.614 17.929L30.967 16.028L34.32 17.928L30.967 19.851V19.851ZM34.604 21.926C34.604 21.926 31.251 20.002 31.251 20.004L34.604 18.103L37.957 20.002L34.604 21.926Z" fill="#939BA8"/>
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.352 3.14533C12.4221 3.2154 12.4698 3.3047 12.489 3.40192C12.5082 3.49913 12.4981 3.59987 12.46 3.69133C12.1552 4.42281 11.9989 5.20757 12 6C12 7.5913 12.6321 9.11742 13.7574 10.2426C14.8826 11.3679 16.4087 12 18 12C18.7924 12.0011 19.5772 11.8448 20.3087 11.54C20.4001 11.5019 20.5007 11.4919 20.5978 11.5111C20.695 11.5303 20.7842 11.5779 20.8543 11.6478C20.9243 11.7178 20.972 11.807 20.9913 11.9041C21.0106 12.0012 21.0006 12.1019 20.9627 12.1933C20.4307 13.4688 19.5332 14.5584 18.3831 15.3248C17.2331 16.0911 15.882 16.5 14.5 16.5C10.634 16.5 7.5 13.366 7.5 9.5C7.5 6.588 9.278 4.092 11.8067 3.03733C11.898 2.99935 11.9986 2.98933 12.0957 3.00856C12.1928 3.02778 12.282 3.07538 12.352 3.14533V3.14533Z" fill="#939BA8"/>
|
|
4
|
+
<g clip-path="url(#clip0_1_4)">
|
|
5
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M25.5 4.25C25.5815 4.25002 25.6607 4.27657 25.7258 4.32565C25.7908 4.37473 25.8381 4.44365 25.8605 4.522L26.267 5.945C26.3545 6.25146 26.5187 6.53055 26.7441 6.75591C26.9694 6.98128 27.2485 7.14548 27.555 7.233L28.978 7.6395C29.0563 7.66193 29.1252 7.70924 29.1742 7.77428C29.2232 7.83932 29.2497 7.91855 29.2497 8C29.2497 8.08145 29.2232 8.16068 29.1742 8.22572C29.1252 8.29076 29.0563 8.33807 28.978 8.3605L27.555 8.767C27.2485 8.85452 26.9694 9.01872 26.7441 9.24409C26.5187 9.46945 26.3545 9.74854 26.267 10.055L25.8605 11.478C25.8381 11.5563 25.7908 11.6252 25.7257 11.6742C25.6607 11.7232 25.5814 11.7497 25.5 11.7497C25.4185 11.7497 25.3393 11.7232 25.2743 11.6742C25.2092 11.6252 25.1619 11.5563 25.1395 11.478L24.733 10.055C24.6455 9.74854 24.4813 9.46945 24.2559 9.24409C24.0305 9.01872 23.7515 8.85452 23.445 8.767L22.022 8.3605C21.9437 8.33807 21.8748 8.29076 21.8258 8.22572C21.7768 8.16068 21.7503 8.08145 21.7503 8C21.7503 7.91855 21.7768 7.83932 21.8258 7.77428C21.8748 7.70924 21.9437 7.66193 22.022 7.6395L23.445 7.233C23.7515 7.14548 24.0305 6.98128 24.2559 6.75591C24.4813 6.53055 24.6455 6.25146 24.733 5.945L25.1395 4.522C25.1619 4.44365 25.2092 4.37473 25.2742 4.32565C25.3393 4.27657 25.4185 4.25002 25.5 4.25ZM30 2.75C30.0837 2.74995 30.1649 2.77788 30.2309 2.82934C30.2968 2.8808 30.3437 2.95284 30.364 3.034L30.493 3.552C30.611 4.022 30.978 4.389 31.448 4.507L31.966 4.636C32.0473 4.65614 32.1195 4.70293 32.1712 4.7689C32.2228 4.83487 32.2508 4.91623 32.2508 5C32.2508 5.08377 32.2228 5.16513 32.1712 5.2311C32.1195 5.29707 32.0473 5.34386 31.966 5.364L31.448 5.493C30.978 5.611 30.611 5.978 30.493 6.448L30.364 6.966C30.3439 7.04731 30.2971 7.11954 30.2311 7.17117C30.1651 7.22279 30.0838 7.25084 30 7.25084C29.9162 7.25084 29.8349 7.22279 29.7689 7.17117C29.7029 7.11954 29.6561 7.04731 29.636 6.966L29.507 6.448C29.4493 6.21721 29.33 6.00645 29.1618 5.83824C28.9935 5.67003 28.7828 5.55069 28.552 5.493L28.034 5.364C27.9527 5.34386 27.8805 5.29707 27.8288 5.2311C27.7772 5.16513 27.7492 5.08377 27.7492 5C27.7492 4.91623 27.7772 4.83487 27.8288 4.7689C27.8805 4.70293 27.9527 4.65614 28.034 4.636L28.552 4.507C28.7828 4.44931 28.9935 4.32997 29.1618 4.16176C29.33 3.99355 29.4493 3.78279 29.507 3.552L29.636 3.034C29.6563 2.95284 29.7032 2.8808 29.7691 2.82934C29.8351 2.77788 29.9163 2.74995 30 2.75V2.75ZM29.25 9.5C29.3288 9.49995 29.4055 9.52471 29.4694 9.57075C29.5333 9.61679 29.5811 9.68178 29.606 9.7565L29.803 10.348C29.878 10.5715 30.053 10.7475 30.277 10.822L30.8685 11.0195C30.943 11.0445 31.0077 11.0923 31.0536 11.1561C31.0995 11.2198 31.1241 11.2964 31.1241 11.375C31.1241 11.4536 31.0995 11.5302 31.0536 11.5939C31.0077 11.6577 30.943 11.7055 30.8685 11.7305L30.277 11.928C30.0535 12.003 29.8775 12.178 29.803 12.402L29.6055 12.9935C29.5805 13.068 29.5327 13.1327 29.4689 13.1786C29.4051 13.2245 29.3286 13.2491 29.25 13.2491C29.1714 13.2491 29.0948 13.2245 29.0311 13.1786C28.9673 13.1327 28.9195 13.068 28.8945 12.9935L28.697 12.402C28.6602 12.2916 28.5982 12.1914 28.5159 12.1091C28.4336 12.0268 28.3334 11.9648 28.223 11.928L27.6315 11.7305C27.557 11.7055 27.4923 11.6577 27.4464 11.5939C27.4005 11.5302 27.3758 11.4536 27.3758 11.375C27.3758 11.2964 27.4005 11.2198 27.4464 11.1561C27.4923 11.0923 27.557 11.0445 27.6315 11.0195L28.223 10.822C28.4465 10.747 28.6225 10.572 28.697 10.348L28.8945 9.7565C28.9194 9.68186 28.9671 9.61693 29.0309 9.57089C29.0947 9.52486 29.1713 9.50006 29.25 9.5V9.5Z" fill="#939BA8"/>
|
|
6
|
+
</g>
|
|
7
|
+
<defs>
|
|
8
|
+
<clipPath id="clip0_1_4">
|
|
9
|
+
<rect width="12" height="12" fill="white" transform="translate(21 2)"/>
|
|
10
|
+
</clipPath>
|
|
11
|
+
</defs>
|
|
12
|
+
</svg>
|
|
Binary file
|
|
@@ -13,7 +13,7 @@ import throttle from 'lodash/fp/throttle';
|
|
|
13
13
|
import mapProps from '../utils/proptypes';
|
|
14
14
|
import addEventListener from '../../../utils/addEventListener';
|
|
15
15
|
import '../herePolyfill';
|
|
16
|
-
import { MAP_TYPE_DEFAULT, MAP_TYPE_FLEET_STYLE, MAP_TYPE_SATELLITE, MAP_TYPE_TERRAIN, MAP_LAYER_INCIDENTS, MAP_LAYER_TRAFFIC, MAP_LAYER_ROAD_RESTRICTIONS
|
|
16
|
+
import { MAP_TYPE_DEFAULT, MAP_TYPE_FLEET_STYLE, MAP_TYPE_SATELLITE, MAP_TYPE_TERRAIN, MAP_TYPE_NIGHT, MAP_LAYER_INCIDENTS, MAP_LAYER_TRAFFIC, MAP_LAYER_ROAD_RESTRICTIONS } from './constants';
|
|
17
17
|
import ZoomButtons from './features/settings/ZoomButtons';
|
|
18
18
|
import IncidentsLayer from './features/layers/IncidentsLayer';
|
|
19
19
|
import TrafficLayer from './features/layers/TrafficLayer';
|
|
@@ -23,9 +23,12 @@ import DefaultRasterLayer from './features/layers/baselayers/DefaultRasterLayer'
|
|
|
23
23
|
import FleetStyleLayer from './features/layers/baselayers/FleetStyleLayer';
|
|
24
24
|
import SatelliteLayer from './features/layers/baselayers/SatelliteLayer';
|
|
25
25
|
import TerrainLayer from './features/layers/baselayers/TerrainLayer';
|
|
26
|
+
import NightLayer from './features/layers/baselayers/NightLayer';
|
|
27
|
+
import { getDefaultBaseLayer } from './features/layers/baselayers/useBaseLayer';
|
|
26
28
|
import { addEventListenerMap, removeEventListenerMap } from '../utils/eventHandling';
|
|
27
29
|
import { MapContext, MapSettingsContext } from './context';
|
|
28
30
|
import { createUtils, getPPI } from './mapUtils';
|
|
31
|
+
import { useDarkMode } from '../../../hooks/useDarkMode';
|
|
29
32
|
export var NO_CREDENTIALS_ERROR_MESSAGE = 'Cannot instantiate the Map. Missing credentials property.';
|
|
30
33
|
var RESIZE_THROTTLE = 1100; // 100 more than the ApplicationLayout handler
|
|
31
34
|
|
|
@@ -39,19 +42,6 @@ var getPlatform = function getPlatform(credentials) {
|
|
|
39
42
|
app_code: credentials.app_code
|
|
40
43
|
});
|
|
41
44
|
};
|
|
42
|
-
|
|
43
|
-
// Obtain the default map types from the platform object:
|
|
44
|
-
var createDefaultLayers = function createDefaultLayers(platform, language, darkMode) {
|
|
45
|
-
return platform.createDefaultLayers({
|
|
46
|
-
lg: language,
|
|
47
|
-
lg2: 'de',
|
|
48
|
-
// Only needed for a raster based map
|
|
49
|
-
tileSize: TILE_SIZE,
|
|
50
|
-
ppi: getPPI(),
|
|
51
|
-
// default style for default raster layer
|
|
52
|
-
style: !darkMode && 'mini'
|
|
53
|
-
});
|
|
54
|
-
};
|
|
55
45
|
var getHereUi = function getHereUi(hereMap, defaultLayers, showScaleBar) {
|
|
56
46
|
var hereUi = H.ui.UI.createDefault(hereMap, defaultLayers);
|
|
57
47
|
if (hereUi) {
|
|
@@ -99,7 +89,7 @@ var getBaseLayer = function getBaseLayer(api, baseLayer, language, useWebGL, dar
|
|
|
99
89
|
switch (baseLayer) {
|
|
100
90
|
case MAP_TYPE_DEFAULT:
|
|
101
91
|
{
|
|
102
|
-
return useWebGL ? /*#__PURE__*/React.createElement(DefaultVectorLayer, {
|
|
92
|
+
return !darkMode && useWebGL ? /*#__PURE__*/React.createElement(DefaultVectorLayer, {
|
|
103
93
|
api: api,
|
|
104
94
|
language: language,
|
|
105
95
|
key: baseLayer
|
|
@@ -128,6 +118,12 @@ var getBaseLayer = function getBaseLayer(api, baseLayer, language, useWebGL, dar
|
|
|
128
118
|
language: language,
|
|
129
119
|
key: baseLayer
|
|
130
120
|
});
|
|
121
|
+
case MAP_TYPE_NIGHT:
|
|
122
|
+
return /*#__PURE__*/React.createElement(NightLayer, {
|
|
123
|
+
api: api,
|
|
124
|
+
language: language,
|
|
125
|
+
key: baseLayer
|
|
126
|
+
});
|
|
131
127
|
default:
|
|
132
128
|
null;
|
|
133
129
|
}
|
|
@@ -151,14 +147,6 @@ var getStyle = function getStyle(height, width) {
|
|
|
151
147
|
}
|
|
152
148
|
return style;
|
|
153
149
|
};
|
|
154
|
-
|
|
155
|
-
// https://developer.here.com/documentation/maps/3.1.37.0/api_reference/H.service.Platform.html#createDefaultLayers
|
|
156
|
-
var getMapRenderingEngine = function getMapRenderingEngine(defaultLayers, useWebGL, darkMode) {
|
|
157
|
-
if (useWebGL) {
|
|
158
|
-
return defaultLayers.vector.normal.map;
|
|
159
|
-
}
|
|
160
|
-
return darkMode ? defaultLayers.raster.normal.mapnight : defaultLayers.raster.normal.map;
|
|
161
|
-
};
|
|
162
150
|
var Map = function Map(props) {
|
|
163
151
|
var children = props.children,
|
|
164
152
|
credentials = props.credentials,
|
|
@@ -208,22 +196,35 @@ var Map = function Map(props) {
|
|
|
208
196
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
209
197
|
showCluster = _useState10[0],
|
|
210
198
|
setShowCluster = _useState10[1];
|
|
199
|
+
var isDarkMode = useDarkMode();
|
|
200
|
+
useEffect(function () {
|
|
201
|
+
// Toggle night map only if current map type is default
|
|
202
|
+
if (isDarkMode && baseLayer === MAP_TYPE_DEFAULT) {
|
|
203
|
+
setBaseLayer(MAP_TYPE_NIGHT);
|
|
204
|
+
onMapTypeChange(MAP_TYPE_NIGHT);
|
|
205
|
+
}
|
|
206
|
+
// Toggle back to default map only if current map type is night
|
|
207
|
+
else if (!isDarkMode && baseLayer === MAP_TYPE_NIGHT) {
|
|
208
|
+
setBaseLayer(MAP_TYPE_DEFAULT);
|
|
209
|
+
onMapTypeChange(MAP_TYPE_DEFAULT);
|
|
210
|
+
}
|
|
211
|
+
}, [isDarkMode]);
|
|
211
212
|
var devicePixelRatio = window.devicePixelRatio || 1;
|
|
212
213
|
useEffect(function () {
|
|
213
|
-
|
|
214
|
-
var defaultLayers = createDefaultLayers(platform, language, darkMode);
|
|
214
|
+
console.debug('initialize here map');
|
|
215
215
|
var bounds = boundingBox && getBounds(boundingBox);
|
|
216
|
-
var
|
|
216
|
+
var platform = getPlatform(credentials);
|
|
217
|
+
var defaultLayers = platform.createDefaultLayers();
|
|
218
|
+
var defaultLayer = getDefaultBaseLayer(defaultLayers, baseLayer, useWebGL);
|
|
217
219
|
|
|
218
220
|
// Instantiate (and display) a map object:
|
|
219
|
-
var
|
|
221
|
+
var mapConfig = {
|
|
220
222
|
zoom: zoom,
|
|
221
223
|
center: center,
|
|
222
224
|
bounds: bounds,
|
|
223
|
-
pixelRatio: devicePixelRatio
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
});
|
|
225
|
+
pixelRatio: devicePixelRatio
|
|
226
|
+
};
|
|
227
|
+
var hereMap = new H.Map(mapRef.current, defaultLayer, mapConfig);
|
|
227
228
|
|
|
228
229
|
// Add a resize listener to make sure that the map occupies the whole container
|
|
229
230
|
var resizeListener = addEventListener(window, 'resize', throttle(RESIZE_THROTTLE, function () {
|
|
@@ -267,7 +268,7 @@ var Map = function Map(props) {
|
|
|
267
268
|
hereMap.dispose();
|
|
268
269
|
}
|
|
269
270
|
};
|
|
270
|
-
}, [useWebGL
|
|
271
|
+
}, [useWebGL]);
|
|
271
272
|
|
|
272
273
|
// Update BoundingBox from outside
|
|
273
274
|
useEffect(function () {
|
|
@@ -282,17 +283,25 @@ var Map = function Map(props) {
|
|
|
282
283
|
}
|
|
283
284
|
}, [boundingBox]);
|
|
284
285
|
|
|
285
|
-
// Update Zoom from outside
|
|
286
|
+
// Update Zoom from outside if value is different
|
|
286
287
|
useEffect(function () {
|
|
287
|
-
if (api
|
|
288
|
-
|
|
288
|
+
if (!api) {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
var currentMapZoom = api.utils.getZoom();
|
|
292
|
+
if (zoom && currentMapZoom !== zoom) {
|
|
293
|
+
api.utils.setZoom(zoom, zoomAnimation);
|
|
289
294
|
}
|
|
290
295
|
}, [zoom]);
|
|
291
296
|
|
|
292
|
-
// Update Lat & Lng from outside
|
|
297
|
+
// Update Lat & Lng from outside if value is different
|
|
293
298
|
useEffect(function () {
|
|
294
|
-
if (api && center) {
|
|
295
|
-
|
|
299
|
+
if (!(api && center)) {
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
var currentMapCenter = api.utils.getCenter();
|
|
303
|
+
if (currentMapCenter.lat !== center.lat || currentMapCenter.lng !== center.lng) {
|
|
304
|
+
api.utils.setCenter(center, zoomAnimation);
|
|
296
305
|
}
|
|
297
306
|
}, [center]);
|
|
298
307
|
|
|
@@ -344,22 +353,22 @@ var Map = function Map(props) {
|
|
|
344
353
|
}));
|
|
345
354
|
};
|
|
346
355
|
var handleZoomIn = function handleZoomIn() {
|
|
347
|
-
var z =
|
|
356
|
+
var z = api.utils.getZoom();
|
|
348
357
|
var newZoom = z + 1;
|
|
349
358
|
onZoomIn(newZoom, z);
|
|
350
|
-
api.
|
|
359
|
+
api.utils.setZoom(newZoom, zoomAnimation);
|
|
351
360
|
};
|
|
352
361
|
var handleZoomOut = function handleZoomOut() {
|
|
353
|
-
var z =
|
|
362
|
+
var z = api.utils.getZoom();
|
|
354
363
|
var newZoom = z - 1;
|
|
355
364
|
onZoomOut(newZoom, z);
|
|
356
|
-
api.
|
|
365
|
+
api.utils.setZoom(newZoom, zoomAnimation);
|
|
357
366
|
};
|
|
358
367
|
var style = getStyle(height, width);
|
|
359
368
|
var autoHeightClass = isEmpty(style) ? 'height-100pct' : '';
|
|
360
369
|
var hideZoomButtons = disableBehavior;
|
|
361
370
|
return /*#__PURE__*/React.createElement("div", {
|
|
362
|
-
className: "Map position-relative ".concat(autoHeightClass),
|
|
371
|
+
className: "Map position-relative map-type-".concat(baseLayer.toLowerCase(), " ").concat(autoHeightClass),
|
|
363
372
|
style: style,
|
|
364
373
|
ref: mapRef
|
|
365
374
|
}, isMapInitialized && /*#__PURE__*/React.createElement(MapContext.Provider, {
|
|
@@ -389,6 +398,7 @@ Map.TYPE_DEFAULT = MAP_TYPE_DEFAULT;
|
|
|
389
398
|
Map.TYPE_FLEET_STYLE = MAP_TYPE_FLEET_STYLE;
|
|
390
399
|
Map.TYPE_SATELLITE = MAP_TYPE_SATELLITE;
|
|
391
400
|
Map.TYPE_TERRAIN = MAP_TYPE_TERRAIN;
|
|
401
|
+
Map.TYPE_NIGHT = MAP_TYPE_NIGHT;
|
|
392
402
|
Map.LAYER_INCIDENTS = MAP_LAYER_INCIDENTS;
|
|
393
403
|
Map.LAYER_TRAFFIC = MAP_LAYER_TRAFFIC;
|
|
394
404
|
Map.LAYER_ROAD_RESTRICTIONS = MAP_LAYER_ROAD_RESTRICTIONS;
|
|
@@ -424,7 +434,7 @@ Map.propTypes = {
|
|
|
424
434
|
hideMapSettings: PropTypes.bool,
|
|
425
435
|
hideClusterSettings: PropTypes.bool,
|
|
426
436
|
hideMapLayerSettings: PropTypes.bool,
|
|
427
|
-
mapType: PropTypes.oneOf([Map.TYPE_DEFAULT, Map.TYPE_FLEET_STYLE, Map.TYPE_SATELLITE, Map.TYPE_TERRAIN]),
|
|
437
|
+
mapType: PropTypes.oneOf([Map.TYPE_DEFAULT, Map.TYPE_FLEET_STYLE, Map.TYPE_SATELLITE, Map.TYPE_TERRAIN, Map.TYPE_NIGHT]),
|
|
428
438
|
mapLayer: PropTypes.arrayOf(PropTypes.string),
|
|
429
439
|
showCluster: PropTypes.bool,
|
|
430
440
|
showScaleBar: PropTypes.bool,
|
|
@@ -2,13 +2,11 @@ export var MAP_TYPE_DEFAULT = 'DEFAULT';
|
|
|
2
2
|
export var MAP_TYPE_FLEET_STYLE = 'FLEET_STYLE';
|
|
3
3
|
export var MAP_TYPE_SATELLITE = 'SATELLITE';
|
|
4
4
|
export var MAP_TYPE_TERRAIN = 'TERRAIN';
|
|
5
|
+
export var MAP_TYPE_NIGHT = 'NIGHT';
|
|
5
6
|
export var MAP_LAYER_INCIDENTS = 'INCIDENTS';
|
|
6
7
|
export var MAP_LAYER_TRAFFIC = 'TRAFFIC';
|
|
7
8
|
export var MAP_LAYER_ROAD_RESTRICTIONS = 'ROAD_RESTRICTIONS';
|
|
8
9
|
export var FORMAT = 'png8';
|
|
9
10
|
export var TILE_SIZE = 256;
|
|
10
11
|
export var TILE_TYPE = 'maptile';
|
|
11
|
-
export var HIGH_RES_PPI = 320;
|
|
12
|
-
|
|
13
|
-
// https://3.base.maps.ls.hereapi.com/maptile/2.1/maptile/da6f196b15/normal.day/11/1086/709/256/png8?xnlp=CL_JSMv3.1.37.0&apikey=Kls87GMD8WOPMBac1vgJ0eWYpSw1YzSXtXNcWHtZf5w&style=alps&lg=eng
|
|
14
|
-
// https://3.base.maps.ls.hereapi.com/maptile/2.1/maptile/da6f196b15/normal.day/11/1086/709/256/png8?xnlp=CL_JSMv3.1.37.0&apikey=Kls87GMD8WOPMBac1vgJ0eWYpSw1YzSXtXNcWHtZf5w&ppi=320&lg=en&lg2=de
|
|
12
|
+
export var HIGH_RES_PPI = 320;
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { useBaseLayer } from './useBaseLayer';
|
|
2
|
+
import { MAP_TYPE_DEFAULT } from '../../../constants';
|
|
2
3
|
|
|
3
4
|
// https://developer.here.com/documentation/map-tile/dev_guide/topics/resource-info.html
|
|
4
5
|
|
|
5
6
|
var DefaultRasterLayer = function DefaultRasterLayer(props) {
|
|
6
7
|
var api = props.api,
|
|
7
|
-
language = props.language
|
|
8
|
-
darkMode = props.darkMode;
|
|
8
|
+
language = props.language;
|
|
9
9
|
useBaseLayer({
|
|
10
10
|
api: api,
|
|
11
11
|
language: language,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
additionalParameters: !darkMode && {
|
|
12
|
+
mapType: MAP_TYPE_DEFAULT,
|
|
13
|
+
additionalParameters: {
|
|
15
14
|
style: 'alps'
|
|
16
15
|
}
|
|
17
16
|
});
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { useBaseLayer } from './useBaseLayer';
|
|
2
|
+
import { MAP_TYPE_DEFAULT } from '../../../constants';
|
|
2
3
|
var DefaultVectorLayer = function DefaultVectorLayer(props) {
|
|
3
4
|
var api = props.api,
|
|
4
5
|
language = props.language;
|
|
5
6
|
useBaseLayer({
|
|
6
7
|
api: api,
|
|
7
8
|
language: language,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
mapType: MAP_TYPE_DEFAULT,
|
|
10
|
+
additionalParameters: {},
|
|
11
|
+
isWebGL: true
|
|
11
12
|
});
|
|
12
13
|
return null;
|
|
13
14
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { useBaseLayer } from './useBaseLayer';
|
|
2
|
+
import { MAP_TYPE_FLEET_STYLE } from '../../../constants';
|
|
2
3
|
var FleetStyleLayer = function FleetStyleLayer(props) {
|
|
3
4
|
var api = props.api,
|
|
4
5
|
language = props.language;
|
|
5
6
|
useBaseLayer({
|
|
6
7
|
api: api,
|
|
7
8
|
language: language,
|
|
8
|
-
|
|
9
|
-
scheme: 'normal.day',
|
|
9
|
+
mapType: MAP_TYPE_FLEET_STYLE,
|
|
10
10
|
additionalParameters: {
|
|
11
11
|
style: 'fleet'
|
|
12
12
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useBaseLayer } from './useBaseLayer';
|
|
2
|
+
import { MAP_TYPE_NIGHT } from '../../../constants';
|
|
3
|
+
|
|
4
|
+
// https://developer.here.com/documentation/map-tile/dev_guide/topics/resource-info.html
|
|
5
|
+
|
|
6
|
+
var NightLayer = function NightLayer(props) {
|
|
7
|
+
var api = props.api,
|
|
8
|
+
language = props.language;
|
|
9
|
+
useBaseLayer({
|
|
10
|
+
api: api,
|
|
11
|
+
language: language,
|
|
12
|
+
mapType: MAP_TYPE_NIGHT,
|
|
13
|
+
additionalParameters: {}
|
|
14
|
+
});
|
|
15
|
+
return null;
|
|
16
|
+
};
|
|
17
|
+
export default NightLayer;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { useBaseLayer } from './useBaseLayer';
|
|
2
|
+
import { MAP_TYPE_SATELLITE } from '../../../constants';
|
|
2
3
|
var SatelliteLayer = function SatelliteLayer(props) {
|
|
3
4
|
var api = props.api,
|
|
4
5
|
language = props.language;
|
|
5
6
|
useBaseLayer({
|
|
6
7
|
api: api,
|
|
7
8
|
language: language,
|
|
8
|
-
|
|
9
|
-
scheme: 'hybrid.day',
|
|
9
|
+
mapType: MAP_TYPE_SATELLITE,
|
|
10
10
|
additionalParameters: {
|
|
11
11
|
style: 'default'
|
|
12
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { useBaseLayer } from './useBaseLayer';
|
|
2
|
+
import { MAP_TYPE_TERRAIN } from '../../../constants';
|
|
2
3
|
var TerrainLayer = function TerrainLayer(props) {
|
|
3
4
|
var api = props.api,
|
|
4
5
|
language = props.language;
|
|
5
6
|
useBaseLayer({
|
|
6
7
|
api: api,
|
|
7
8
|
language: language,
|
|
8
|
-
|
|
9
|
-
scheme: 'terrain.day',
|
|
9
|
+
mapType: MAP_TYPE_TERRAIN,
|
|
10
10
|
additionalParameter: {
|
|
11
11
|
style: 'default'
|
|
12
12
|
}
|
|
@@ -4,19 +4,36 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
4
4
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
5
|
import { useState, useEffect } from 'react';
|
|
6
6
|
import { mapToLongLocale } from '../../../../utils/localization';
|
|
7
|
-
import { FORMAT, TILE_SIZE } from '../../../constants';
|
|
8
7
|
import { getPPI } from '../../../mapUtils';
|
|
8
|
+
import { MAP_TYPE_FLEET_STYLE, MAP_TYPE_SATELLITE, MAP_TYPE_TERRAIN, MAP_TYPE_NIGHT } from '../../../constants';
|
|
9
|
+
|
|
10
|
+
// Obtain the default map types from the platform object:
|
|
11
|
+
export var getDefaultBaseLayer = function getDefaultBaseLayer(defaultLayers, mapType, useWebGL) {
|
|
12
|
+
if (mapType === MAP_TYPE_SATELLITE) {
|
|
13
|
+
return defaultLayers.raster.satellite.map;
|
|
14
|
+
}
|
|
15
|
+
if (mapType === MAP_TYPE_TERRAIN) {
|
|
16
|
+
return defaultLayers.raster.terrain.map;
|
|
17
|
+
}
|
|
18
|
+
if (mapType === MAP_TYPE_FLEET_STYLE) {
|
|
19
|
+
return defaultLayers.raster.normal.map;
|
|
20
|
+
}
|
|
21
|
+
if (mapType === MAP_TYPE_NIGHT) {
|
|
22
|
+
return defaultLayers.raster.normal.mapnight;
|
|
23
|
+
}
|
|
24
|
+
if (useWebGL) {
|
|
25
|
+
return defaultLayers.vector.normal.map;
|
|
26
|
+
}
|
|
27
|
+
return defaultLayers.raster.normal.map;
|
|
28
|
+
};
|
|
9
29
|
export var useBaseLayer = function useBaseLayer(props) {
|
|
10
30
|
var api = props.api,
|
|
11
|
-
_props$mapTileService = props.mapTileServiceType,
|
|
12
|
-
mapTileServiceType = _props$mapTileService === void 0 ? 'base' : _props$mapTileService,
|
|
13
|
-
_props$tileType = props.tileType,
|
|
14
|
-
tileType = _props$tileType === void 0 ? 'maptile' : _props$tileType,
|
|
15
|
-
scheme = props.scheme,
|
|
16
31
|
_props$additionalPara = props.additionalParameters,
|
|
17
32
|
additionalParameters = _props$additionalPara === void 0 ? {} : _props$additionalPara,
|
|
18
|
-
|
|
19
|
-
|
|
33
|
+
language = props.language,
|
|
34
|
+
_props$isWebGL = props.isWebGL,
|
|
35
|
+
isWebGL = _props$isWebGL === void 0 ? false : _props$isWebGL,
|
|
36
|
+
mapType = props.mapType;
|
|
20
37
|
var _useState = useState(),
|
|
21
38
|
_useState2 = _slicedToArray(_useState, 2),
|
|
22
39
|
baseLayer = _useState2[0],
|
|
@@ -27,13 +44,8 @@ export var useBaseLayer = function useBaseLayer(props) {
|
|
|
27
44
|
lg: mapToLongLocale(language),
|
|
28
45
|
ppi: getPPI()
|
|
29
46
|
});
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
// Function signature: createTileLayer(tileType, scheme, tileSize, format, opt_additionalParameters, opt_opacity, opt_dark, opt_options)
|
|
35
|
-
// See: https://developer.here.com/documentation/maps/3.1.37.0/api_reference/H.service.MapTileService.html#createTileLayer
|
|
36
|
-
var newBaseLayer = mapTiler.createTileLayer(tileType, scheme, TILE_SIZE, FORMAT, additionalParametersWithLocale, 1, false, options);
|
|
47
|
+
var defaultLayers = api.platform.createDefaultLayers(additionalParametersWithLocale);
|
|
48
|
+
var newBaseLayer = getDefaultBaseLayer(defaultLayers, mapType, isWebGL);
|
|
37
49
|
api.map.setBaseLayer(newBaseLayer);
|
|
38
50
|
setBaseLayer(newBaseLayer);
|
|
39
51
|
}
|
|
@@ -3,11 +3,11 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
3
3
|
var _excluded = ["mapType", "onMapTypeChange"];
|
|
4
4
|
import React, { useMemo } from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
-
import { MAP_TYPE_DEFAULT, MAP_TYPE_FLEET_STYLE, MAP_TYPE_SATELLITE, MAP_TYPE_TERRAIN } from '../../../constants';
|
|
6
|
+
import { MAP_TYPE_DEFAULT, MAP_TYPE_FLEET_STYLE, MAP_TYPE_NIGHT, MAP_TYPE_SATELLITE, MAP_TYPE_TERRAIN } from '../../../constants';
|
|
7
7
|
import MapSettingsPanel from '../MapSettingsPanel';
|
|
8
8
|
import MapSettingsItem from '../MapSettingsItem';
|
|
9
9
|
import MapSettingsTile from '../MapSettingsTile';
|
|
10
|
-
import { MapIcon, MAP_TYPE_FLAT_ACTIVE, MAP_TYPE_FLAT_INACTIVE, MAP_TYPE_FLAT_TRUCK_ACTIVE, MAP_TYPE_FLAT_TRUCK_INACTIVE, MAP_TYPE_SATELITE_ACTIVE, MAP_TYPE_SATELITE_INACTIVE, MAP_TYPE_TERRAIN_ACTIVE, MAP_TYPE_TERRAIN_INACTIVE } from '../../../../icons/MapIcon';
|
|
10
|
+
import { MapIcon, MAP_TYPE_FLAT_ACTIVE, MAP_TYPE_FLAT_INACTIVE, MAP_TYPE_FLAT_TRUCK_ACTIVE, MAP_TYPE_FLAT_TRUCK_INACTIVE, MAP_TYPE_SATELITE_ACTIVE, MAP_TYPE_SATELITE_INACTIVE, MAP_TYPE_TERRAIN_ACTIVE, MAP_TYPE_TERRAIN_INACTIVE, MAP_TYPE_NIGHT_ACTIVE, MAP_TYPE_NIGHT_INACTIVE } from '../../../../icons/MapIcon';
|
|
11
11
|
var MapTypeSettings = function MapTypeSettings(props) {
|
|
12
12
|
var mapType = props.mapType,
|
|
13
13
|
onMapTypeChange = props.onMapTypeChange,
|
|
@@ -17,7 +17,8 @@ var MapTypeSettings = function MapTypeSettings(props) {
|
|
|
17
17
|
isDefault: mapType === MAP_TYPE_DEFAULT,
|
|
18
18
|
isFleetStyle: mapType === MAP_TYPE_FLEET_STYLE,
|
|
19
19
|
isTerrain: mapType === MAP_TYPE_TERRAIN,
|
|
20
|
-
isSatellite: mapType === MAP_TYPE_SATELLITE
|
|
20
|
+
isSatellite: mapType === MAP_TYPE_SATELLITE,
|
|
21
|
+
isNight: mapType === MAP_TYPE_NIGHT
|
|
21
22
|
};
|
|
22
23
|
}, [mapType]);
|
|
23
24
|
var getIcon = function getIcon(currentType) {
|
|
@@ -41,6 +42,11 @@ var MapTypeSettings = function MapTypeSettings(props) {
|
|
|
41
42
|
name: MAP_TYPE_SATELITE_INACTIVE
|
|
42
43
|
});
|
|
43
44
|
}
|
|
45
|
+
if (currentType.isNight) {
|
|
46
|
+
return /*#__PURE__*/React.createElement(MapIcon, {
|
|
47
|
+
name: MAP_TYPE_NIGHT_INACTIVE
|
|
48
|
+
});
|
|
49
|
+
}
|
|
44
50
|
};
|
|
45
51
|
return /*#__PURE__*/React.createElement(MapSettingsTile, _extends({
|
|
46
52
|
className: "MapTypeSettings",
|
|
@@ -88,8 +88,21 @@ export var createUtils = function createUtils(mapApi) {
|
|
|
88
88
|
lng: center.lng
|
|
89
89
|
};
|
|
90
90
|
},
|
|
91
|
+
setCenter: function setCenter(position, animate) {
|
|
92
|
+
mapApi.getViewModel().setLookAtData({
|
|
93
|
+
position: position
|
|
94
|
+
}, animate);
|
|
95
|
+
},
|
|
91
96
|
getZoom: function getZoom() {
|
|
92
|
-
|
|
97
|
+
var _mapApi$getViewModel$ = mapApi.getViewModel().getLookAtData(),
|
|
98
|
+
zoom = _mapApi$getViewModel$.zoom;
|
|
99
|
+
return Math.round(zoom);
|
|
100
|
+
},
|
|
101
|
+
setZoom: function setZoom(zoom) {
|
|
102
|
+
var zoomAnimation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
103
|
+
mapApi.getViewModel().setLookAtData({
|
|
104
|
+
zoom: zoom
|
|
105
|
+
}, zoomAnimation);
|
|
93
106
|
},
|
|
94
107
|
getViewPort: function getViewPort() {
|
|
95
108
|
var viewPort = mapApi.getViewPort();
|
|
@@ -110,16 +123,33 @@ export var createUtils = function createUtils(mapApi) {
|
|
|
110
123
|
};
|
|
111
124
|
},
|
|
112
125
|
getBounds: function getBounds() {
|
|
113
|
-
var _mapApi$getViewModel$ = mapApi.getViewModel().getLookAtData(),
|
|
114
|
-
bounds = _mapApi$getViewModel
|
|
126
|
+
var _mapApi$getViewModel$2 = mapApi.getViewModel().getLookAtData(),
|
|
127
|
+
bounds = _mapApi$getViewModel$2.bounds;
|
|
128
|
+
|
|
129
|
+
// TODO: remove old 3.0 version after all Services use the latest Map
|
|
130
|
+
if (bounds.getTopLeft) {
|
|
131
|
+
return {
|
|
132
|
+
topLeft: {
|
|
133
|
+
lng: bounds.getTopLeft().lng,
|
|
134
|
+
lat: bounds.getTopLeft().lat
|
|
135
|
+
},
|
|
136
|
+
bottomRight: {
|
|
137
|
+
lng: bounds.getBottomRight().lng,
|
|
138
|
+
lat: bounds.getBottomRight().lat
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// HERE Maps API for JavaScript 3.1
|
|
144
|
+
var boundingBox = bounds.getBoundingBox();
|
|
115
145
|
return {
|
|
116
146
|
topLeft: {
|
|
117
|
-
lng:
|
|
118
|
-
lat:
|
|
147
|
+
lng: boundingBox.getTopLeft().lng,
|
|
148
|
+
lat: boundingBox.getTopLeft().lat
|
|
119
149
|
},
|
|
120
150
|
bottomRight: {
|
|
121
|
-
lng:
|
|
122
|
-
lat:
|
|
151
|
+
lng: boundingBox.getBottomRight().lng,
|
|
152
|
+
lat: boundingBox.getBottomRight().lat
|
|
123
153
|
}
|
|
124
154
|
};
|
|
125
155
|
},
|