@rio-cloud/rio-uikit 0.16.1 → 0.16.2-beta.10
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/ColorScheme.d.ts +4 -0
- package/ColorScheme.js +2 -0
- package/Colors.js +1 -1
- package/TruckLayer.js +1 -1
- package/components/.DS_Store +0 -0
- package/components/applicationHeader/AppMenu.js +6 -3
- package/components/applicationHeader/AppMenuDropdown.js +6 -2
- package/components/applicationHeader/ApplicationHeader.js +10 -5
- package/components/applicationHeader/MobileAppMenu.js +8 -4
- package/components/assetTree/Tree.js +1 -1
- package/components/autosuggest/AutoSuggest.js +2 -2
- package/components/charts/chartHelper.js +1 -1
- package/components/clearableInput/ClearableInput.js +2 -1
- package/components/datepicker/DatePicker.js +8 -4
- 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 +167 -140
- package/components/map/components/constants.js +1 -0
- package/components/map/components/features/Route.js +6 -7
- package/components/map/components/features/basics/Polyline.js +10 -5
- package/components/map/components/features/layers/RoadRestrictionLayer.js +27 -0
- package/components/map/components/features/layers/TrafficLayer.js +19 -5
- package/components/map/components/features/layers/baselayers/DefaultRasterLayer.js +19 -0
- package/components/map/components/features/layers/baselayers/DefaultVectorLayer.js +15 -0
- package/components/map/components/features/layers/baselayers/FleetStyleLayer.js +13 -17
- package/components/map/components/features/layers/baselayers/NightLayer.js +17 -0
- package/components/map/components/features/layers/baselayers/SatelliteLayer.js +13 -17
- package/components/map/components/features/layers/baselayers/TerrainLayer.js +13 -17
- package/components/map/components/features/layers/baselayers/useBaseLayer.js +53 -0
- package/components/map/components/features/settings/builtinSettings/MapClusterSettings.js +1 -1
- package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +9 -3
- package/components/map/components/mapUtils.js +44 -8
- package/components/map/icons/MapIcon.js +64 -0
- package/components/mapMarker/ClusterMapMarker.js +2 -2
- package/components/mapMarker/SingleMapMarker.js +8 -2
- package/components/numberControl/NumberControl.js +34 -11
- package/components/numberInput/NumberInput.js +52 -50
- package/components/sidebars/Sidebar.js +2 -2
- package/hooks/useDarkMode.js +30 -0
- package/hooks/useElementSize.js +1 -1
- package/hooks/useFullscreen.js +37 -41
- package/hooks/useHereMap.ts +23 -0
- package/hooks/useMutationObserver.js +38 -0
- package/hooks/useScripts.ts +52 -0
- package/hooks/useScrollPosition.js +72 -0
- package/index.js +6 -1
- package/lib/.DS_Store +0 -0
- package/lib/es/.DS_Store +0 -0
- package/lib/es/ColorScheme.d.ts +4 -0
- package/lib/es/ColorScheme.js +18 -0
- package/lib/es/Colors.js +1 -1
- package/lib/es/TruckLayer.js +2 -2
- package/lib/es/components/.DS_Store +0 -0
- package/lib/es/components/applicationHeader/AppMenu.js +6 -3
- package/lib/es/components/applicationHeader/AppMenuDropdown.js +6 -2
- package/lib/es/components/applicationHeader/ApplicationHeader.js +10 -5
- package/lib/es/components/applicationHeader/MobileAppMenu.js +8 -4
- package/lib/es/components/assetTree/Tree.js +1 -1
- package/lib/es/components/autosuggest/AutoSuggest.js +2 -2
- package/lib/es/components/charts/chartHelper.js +1 -1
- package/lib/es/components/clearableInput/ClearableInput.js +2 -1
- package/lib/es/components/datepicker/DatePicker.js +7 -3
- 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 +165 -135
- package/lib/es/components/map/components/constants.js +3 -1
- package/lib/es/components/map/components/features/Route.js +6 -7
- package/lib/es/components/map/components/features/basics/Polyline.js +10 -7
- package/lib/es/components/map/components/features/layers/RoadRestrictionLayer.js +35 -0
- package/lib/es/components/map/components/features/layers/TrafficLayer.js +18 -5
- package/lib/es/components/map/components/features/layers/baselayers/DefaultRasterLayer.js +25 -0
- package/lib/es/components/map/components/features/layers/baselayers/DefaultVectorLayer.js +22 -0
- package/lib/es/components/map/components/features/layers/baselayers/FleetStyleLayer.js +12 -17
- package/lib/es/components/map/components/features/layers/baselayers/NightLayer.js +23 -0
- package/lib/es/components/map/components/features/layers/baselayers/SatelliteLayer.js +12 -17
- package/lib/es/components/map/components/features/layers/baselayers/TerrainLayer.js +12 -17
- package/lib/es/components/map/components/features/layers/baselayers/useBaseLayer.js +61 -0
- package/lib/es/components/map/components/features/settings/builtinSettings/MapClusterSettings.js +1 -1
- package/lib/es/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +7 -1
- package/lib/es/components/map/components/mapUtils.js +44 -10
- package/lib/es/components/map/icons/MapIcon.js +67 -1
- package/lib/es/components/mapMarker/ClusterMapMarker.js +2 -2
- package/lib/es/components/mapMarker/SingleMapMarker.js +8 -2
- package/lib/es/components/numberControl/NumberControl.js +33 -10
- package/lib/es/components/numberInput/NumberInput.js +51 -50
- package/lib/es/components/sidebars/Sidebar.js +2 -2
- package/lib/es/hooks/useDarkMode.js +38 -0
- package/lib/es/hooks/useElementSize.js +1 -1
- package/lib/es/hooks/useFullscreen.js +37 -41
- package/lib/es/hooks/useHereMap.ts +23 -0
- package/lib/es/hooks/useMutationObserver.js +46 -0
- package/lib/es/hooks/useScripts.ts +52 -0
- package/lib/es/hooks/useScrollPosition.js +80 -0
- package/lib/es/index.js +40 -1
- package/lib/es/mapIndex.js +2 -2
- package/lib/es/styles/.DS_Store +0 -0
- package/lib/es/styles/components/Activity.less +9 -10
- package/lib/es/styles/components/ApplicationHeader.less +24 -29
- package/lib/es/styles/components/ApplicationLayout.less +7 -7
- package/lib/es/styles/components/AssetTree.less +30 -28
- package/lib/es/styles/components/AutoSuggest.less +2 -2
- package/lib/es/styles/components/BottomSheet.less +1 -2
- package/lib/es/styles/components/Carousel.less +13 -9
- package/lib/es/styles/components/Checkbox.less +15 -16
- package/lib/es/styles/components/ClearableInput.less +3 -3
- package/lib/es/styles/components/Counter.less +12 -12
- package/lib/es/styles/components/DataTabs.less +2 -2
- package/lib/es/styles/components/DatePicker.less +27 -27
- package/lib/es/styles/components/Dialog.less +15 -11
- package/lib/es/styles/components/Dropdown.less +11 -11
- package/lib/es/styles/components/Expander.less +7 -7
- package/lib/es/styles/components/ListMenu.less +8 -8
- package/lib/es/styles/components/MapHere.less +3 -2
- package/lib/es/styles/components/MapMarker.less +16 -17
- package/lib/es/styles/components/MapSettings.less +5 -5
- package/lib/es/styles/components/NoData.less +1 -1
- package/lib/es/styles/components/Notification.less +12 -12
- package/lib/es/styles/components/RadioButton.less +11 -12
- package/lib/es/styles/components/Resizer.less +1 -1
- package/lib/es/styles/components/Select.less +16 -26
- package/lib/es/styles/components/Sidebar.less +29 -21
- package/lib/es/styles/components/Slider.less +18 -18
- package/lib/es/styles/components/Spinner.less +6 -6
- package/lib/es/styles/components/StatsWidget.less +5 -5
- package/lib/es/styles/components/SteppedProgressBar.less +32 -29
- package/lib/es/styles/components/SupportMarker.less +1 -1
- package/lib/es/styles/components/Switch.less +8 -8
- package/lib/es/styles/components/TableSettingsDialog.less +7 -7
- package/lib/es/styles/components/TableToolbar.less +1 -1
- package/lib/es/styles/components/Tag.less +10 -10
- package/lib/es/styles/components/Timeline.less +3 -3
- package/lib/es/styles/components/Tooltip.less +10 -10
- package/lib/es/styles/design/badges.less +10 -10
- package/lib/es/styles/design/border.less +1 -1
- package/lib/es/styles/design/breadcrumbs.less +2 -2
- package/lib/es/styles/design/button-groups.less +25 -1
- package/lib/es/styles/design/buttons.less +53 -109
- package/lib/es/styles/design/callouts.less +3 -3
- package/lib/es/styles/design/code.less +4 -6
- package/lib/es/styles/design/colors.less +20 -20
- package/lib/es/styles/design/form-input-groups.less +4 -4
- package/lib/es/styles/design/form-inputs.less +33 -31
- package/lib/es/styles/design/images.less +2 -2
- package/lib/es/styles/design/labels.less +11 -11
- package/lib/es/styles/design/list-group.less +14 -12
- package/lib/es/styles/design/navs.less +27 -27
- package/lib/es/styles/design/normalize.less +0 -9
- package/lib/es/styles/design/pagination.less +10 -10
- package/lib/es/styles/design/panels.less +10 -10
- package/lib/es/styles/design/popovers.less +8 -8
- package/lib/es/styles/design/progress-bars.less +8 -8
- package/lib/es/styles/design/shadows.less +14 -7
- package/lib/es/styles/design/tables.less +68 -106
- package/lib/es/styles/design/text.less +5 -19
- package/lib/es/styles/design/theme.less +10 -10
- package/lib/es/styles/design/thumbnails.less +2 -2
- package/lib/es/styles/design/type.less +4 -4
- package/lib/es/styles/design/wells.less +1 -1
- package/lib/es/styles/mapping/color-map.less +76 -75
- package/lib/es/styles/mixins/_imports.less +14 -0
- package/lib/es/styles/mixins/buttons.less +24 -56
- package/lib/es/styles/mixins/forms.less +19 -55
- package/lib/es/styles/mixins/hsl.less +19 -0
- package/lib/es/styles/mixins/panels.less +2 -2
- package/lib/es/styles/print/print.less +7 -7
- package/lib/es/styles/rio-uikit-core.less +2 -2
- package/lib/es/styles/rio-uikit-print-utilities.less +2 -2
- package/lib/es/styles/rio-uikit-responsive-utilities.less +2 -2
- package/lib/es/styles/variables/_index.less +196 -0
- package/lib/es/styles/variables/colors.json +67 -0
- package/lib/es/styles/variables/concated_css_variables.less +66 -0
- package/lib/es/styles/variables/dark_colors.less +88 -0
- package/lib/es/styles/variables/dark_css_variables.less +28 -0
- package/lib/es/styles/variables/dark_css_variables_map.less +96 -0
- package/lib/es/styles/variables/light_colors.less +92 -0
- package/lib/es/styles/variables/light_css_variables.less +17 -0
- package/lib/es/styles/variables/light_css_variables_map.less +100 -0
- package/lib/es/styles/variables/screens.less +7 -0
- package/lib/es/styles/variables/text.less +23 -0
- package/lib/es/themes/.DS_Store +0 -0
- package/lib/es/themes/BuyButton/styles/rio-buyButton.less +13 -8
- package/lib/es/themes/MAN/styles/man-uikit.less +3 -0
- package/lib/es/themes/SCANIA/styles/scania-uikit.less +3 -0
- package/lib/es/themes/Volkswagen/styles/vw-uikit.less +21 -30
- package/lib/es/themes/Website/styles/rio-website.less +154 -124
- package/lib/es/themes/Xmas/styles/rio-xmas.less +59 -29
- package/lib/es/types.ts +27 -5
- package/lib/es/useDarkMode.d.ts +4 -0
- package/lib/es/useDarkMode.js +13 -0
- package/lib/es/useMutationObserver.d.ts +4 -0
- package/lib/es/useMutationObserver.js +13 -0
- package/lib/es/useScrollPosition.d.ts +4 -0
- package/lib/es/useScrollPosition.js +13 -0
- package/lib/es/utils/colorScheme.js +69 -0
- package/lib/es/utils/init.js +34 -34
- package/lib/es/version.json +1 -1
- package/mapIndex.js +1 -1
- package/package.json +34 -33
- package/styles/.DS_Store +0 -0
- package/styles/components/Activity.less +9 -10
- package/styles/components/ApplicationHeader.less +24 -29
- package/styles/components/ApplicationLayout.less +7 -7
- package/styles/components/AssetTree.less +30 -28
- package/styles/components/AutoSuggest.less +2 -2
- package/styles/components/BottomSheet.less +1 -2
- package/styles/components/Carousel.less +13 -9
- package/styles/components/Checkbox.less +15 -16
- package/styles/components/ClearableInput.less +3 -3
- package/styles/components/Counter.less +12 -12
- package/styles/components/DataTabs.less +2 -2
- package/styles/components/DatePicker.less +27 -27
- package/styles/components/Dialog.less +15 -11
- package/styles/components/Dropdown.less +11 -11
- package/styles/components/Expander.less +7 -7
- package/styles/components/ListMenu.less +8 -8
- package/styles/components/MapHere.less +3 -2
- package/styles/components/MapMarker.less +16 -17
- package/styles/components/MapSettings.less +5 -5
- package/styles/components/NoData.less +1 -1
- package/styles/components/Notification.less +12 -12
- package/styles/components/RadioButton.less +11 -12
- package/styles/components/Resizer.less +1 -1
- package/styles/components/Select.less +16 -26
- package/styles/components/Sidebar.less +29 -21
- package/styles/components/Slider.less +18 -18
- package/styles/components/Spinner.less +6 -6
- package/styles/components/StatsWidget.less +5 -5
- package/styles/components/SteppedProgressBar.less +32 -29
- package/styles/components/SupportMarker.less +1 -1
- package/styles/components/Switch.less +8 -8
- package/styles/components/TableSettingsDialog.less +7 -7
- package/styles/components/TableToolbar.less +1 -1
- package/styles/components/Tag.less +10 -10
- package/styles/components/Timeline.less +3 -3
- package/styles/components/Tooltip.less +10 -10
- package/styles/design/badges.less +10 -10
- package/styles/design/border.less +1 -1
- package/styles/design/breadcrumbs.less +2 -2
- package/styles/design/button-groups.less +25 -1
- package/styles/design/buttons.less +53 -109
- package/styles/design/callouts.less +3 -3
- package/styles/design/code.less +4 -6
- package/styles/design/colors.less +20 -20
- package/styles/design/form-input-groups.less +4 -4
- package/styles/design/form-inputs.less +33 -31
- package/styles/design/images.less +2 -2
- package/styles/design/labels.less +11 -11
- package/styles/design/list-group.less +14 -12
- package/styles/design/navs.less +27 -27
- package/styles/design/normalize.less +0 -9
- package/styles/design/pagination.less +10 -10
- package/styles/design/panels.less +10 -10
- package/styles/design/popovers.less +8 -8
- package/styles/design/progress-bars.less +8 -8
- package/styles/design/shadows.less +14 -7
- package/styles/design/tables.less +68 -106
- package/styles/design/text.less +5 -19
- package/styles/design/theme.less +10 -10
- package/styles/design/thumbnails.less +2 -2
- package/styles/design/type.less +4 -4
- package/styles/design/wells.less +1 -1
- package/styles/mapping/color-map.less +76 -75
- package/styles/mixins/_imports.less +14 -0
- package/styles/mixins/buttons.less +24 -56
- package/styles/mixins/forms.less +19 -55
- package/styles/mixins/hsl.less +19 -0
- package/styles/mixins/panels.less +2 -2
- package/styles/print/print.less +7 -7
- package/styles/rio-uikit-core.less +2 -2
- package/styles/rio-uikit-print-utilities.less +2 -2
- package/styles/rio-uikit-responsive-utilities.less +2 -2
- package/styles/variables/_index.less +196 -0
- package/styles/variables/colors.json +67 -0
- package/styles/variables/concated_css_variables.less +66 -0
- package/styles/variables/dark_colors.less +88 -0
- package/styles/variables/dark_css_variables.less +28 -0
- package/styles/variables/dark_css_variables_map.less +96 -0
- package/styles/variables/light_colors.less +92 -0
- package/styles/variables/light_css_variables.less +17 -0
- package/styles/variables/light_css_variables_map.less +100 -0
- package/styles/variables/screens.less +7 -0
- package/styles/variables/text.less +23 -0
- package/themes/.DS_Store +0 -0
- package/themes/BuyButton/styles/rio-buyButton.less +13 -8
- package/themes/MAN/styles/man-uikit.less +3 -0
- package/themes/SCANIA/styles/scania-uikit.less +3 -0
- package/themes/Volkswagen/.DS_Store +0 -0
- package/themes/Volkswagen/styles/vw-uikit.less +21 -30
- package/themes/Website/.DS_Store +0 -0
- package/themes/Website/styles/rio-website.less +154 -124
- package/themes/Xmas/styles/rio-xmas.less +59 -29
- package/types.ts +27 -5
- package/useDarkMode.d.ts +4 -0
- package/useDarkMode.js +2 -0
- package/useMutationObserver.d.ts +4 -0
- package/useMutationObserver.js +2 -0
- package/useScrollPosition.d.ts +4 -0
- package/useScrollPosition.js +2 -0
- package/utils/colorScheme.js +55 -0
- package/utils/init.js +34 -34
- package/version.json +1 -1
|
@@ -4,8 +4,6 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
4
4
|
var _PropTypes$shape;
|
|
5
5
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6
6
|
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; }
|
|
7
|
-
/* eslint-disable no-undef, camelcase */
|
|
8
|
-
|
|
9
7
|
import React, { useRef, useState, useEffect } from 'react';
|
|
10
8
|
import PropTypes from 'prop-types';
|
|
11
9
|
import isFunction from 'lodash/fp/isFunction';
|
|
@@ -15,22 +13,45 @@ import throttle from 'lodash/fp/throttle';
|
|
|
15
13
|
import mapProps from '../utils/proptypes';
|
|
16
14
|
import addEventListener from '../../../utils/addEventListener';
|
|
17
15
|
import '../herePolyfill';
|
|
18
|
-
import { MAP_TYPE_DEFAULT, MAP_TYPE_FLEET_STYLE, MAP_TYPE_SATELLITE, MAP_TYPE_TERRAIN, MAP_LAYER_INCIDENTS, MAP_LAYER_TRAFFIC, MAP_LAYER_ROAD_RESTRICTIONS
|
|
19
|
-
// import MapSettings from './features/old/MapSettings';
|
|
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';
|
|
20
17
|
import ZoomButtons from './features/settings/ZoomButtons';
|
|
21
18
|
import IncidentsLayer from './features/layers/IncidentsLayer';
|
|
22
19
|
import TrafficLayer from './features/layers/TrafficLayer';
|
|
23
|
-
import
|
|
24
|
-
import
|
|
20
|
+
import RoadRestrictionLayer from './features/layers/RoadRestrictionLayer';
|
|
21
|
+
import DefaultVectorLayer from './features/layers/baselayers/DefaultVectorLayer';
|
|
22
|
+
import DefaultRasterLayer from './features/layers/baselayers/DefaultRasterLayer';
|
|
25
23
|
import FleetStyleLayer from './features/layers/baselayers/FleetStyleLayer';
|
|
26
24
|
import SatelliteLayer from './features/layers/baselayers/SatelliteLayer';
|
|
27
25
|
import TerrainLayer from './features/layers/baselayers/TerrainLayer';
|
|
26
|
+
import NightLayer from './features/layers/baselayers/NightLayer';
|
|
27
|
+
import { getDefaultBaseLayer } from './features/layers/baselayers/useBaseLayer';
|
|
28
28
|
import { addEventListenerMap, removeEventListenerMap } from '../utils/eventHandling';
|
|
29
29
|
import { MapContext, MapSettingsContext } from './context';
|
|
30
|
-
import { createUtils } from './mapUtils';
|
|
31
|
-
|
|
30
|
+
import { createUtils, getPPI } from './mapUtils';
|
|
31
|
+
import useDarkMode from '../../../hooks/useDarkMode';
|
|
32
|
+
export var NO_CREDENTIALS_ERROR_MESSAGE = 'Cannot instantiate the Map. Missing credentials property.';
|
|
32
33
|
var RESIZE_THROTTLE = 1100; // 100 more than the ApplicationLayout handler
|
|
33
34
|
|
|
35
|
+
// Note: "apikey" used by Here v3.1 whereas "app_id" and "app_code" are used by the 3.0 API
|
|
36
|
+
// The Here API 3.1 works a little different and by default uses WebGL rendering
|
|
37
|
+
// See Migration guide: https://developer.here.com/documentation/maps/3.1.37.0/dev_guide/topics/migration.html
|
|
38
|
+
var getPlatform = function getPlatform(credentials) {
|
|
39
|
+
return new H.service.Platform({
|
|
40
|
+
apikey: credentials.apikey || credentials.api_key,
|
|
41
|
+
app_id: credentials.app_id,
|
|
42
|
+
app_code: credentials.app_code
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
var getHereUi = function getHereUi(hereMap, defaultLayers, showScaleBar) {
|
|
46
|
+
var hereUi = H.ui.UI.createDefault(hereMap, defaultLayers);
|
|
47
|
+
if (hereUi) {
|
|
48
|
+
hereUi.getControl('scalebar').setVisibility(showScaleBar);
|
|
49
|
+
hereUi.getControl('scalebar').setAlignment('bottom-left');
|
|
50
|
+
hereUi.getControl('mapsettings').setVisibility(false);
|
|
51
|
+
hereUi.removeControl('zoom');
|
|
52
|
+
}
|
|
53
|
+
return hereUi;
|
|
54
|
+
};
|
|
34
55
|
var getBounds = function getBounds(boundingBox) {
|
|
35
56
|
var top = boundingBox.top,
|
|
36
57
|
left = boundingBox.left,
|
|
@@ -38,41 +59,47 @@ var getBounds = function getBounds(boundingBox) {
|
|
|
38
59
|
right = boundingBox.right;
|
|
39
60
|
return new H.geo.Rect(top, left, bottom, right);
|
|
40
61
|
};
|
|
41
|
-
var getLayer = function getLayer(api, layer, language) {
|
|
62
|
+
var getLayer = function getLayer(api, layer, language, useWebGL) {
|
|
42
63
|
switch (layer) {
|
|
43
64
|
case MAP_LAYER_TRAFFIC:
|
|
44
65
|
return /*#__PURE__*/React.createElement(TrafficLayer, {
|
|
45
66
|
api: api,
|
|
46
67
|
language: language,
|
|
47
68
|
key: layer,
|
|
48
|
-
|
|
69
|
+
useWebGL: useWebGL
|
|
49
70
|
});
|
|
50
71
|
case MAP_LAYER_INCIDENTS:
|
|
51
72
|
return /*#__PURE__*/React.createElement(IncidentsLayer, {
|
|
52
73
|
api: api,
|
|
53
74
|
language: language,
|
|
54
|
-
key: layer
|
|
55
|
-
layerIndex: 2
|
|
75
|
+
key: layer
|
|
56
76
|
});
|
|
57
77
|
case MAP_LAYER_ROAD_RESTRICTIONS:
|
|
58
|
-
return /*#__PURE__*/React.createElement(
|
|
78
|
+
return /*#__PURE__*/React.createElement(RoadRestrictionLayer, {
|
|
59
79
|
api: api,
|
|
60
80
|
language: language,
|
|
61
81
|
key: layer,
|
|
62
|
-
|
|
82
|
+
useWebGL: useWebGL
|
|
63
83
|
});
|
|
64
84
|
default:
|
|
65
85
|
null;
|
|
66
86
|
}
|
|
67
87
|
};
|
|
68
|
-
var getBaseLayer = function getBaseLayer(api, baseLayer, language) {
|
|
88
|
+
var getBaseLayer = function getBaseLayer(api, baseLayer, language, useWebGL, darkMode) {
|
|
69
89
|
switch (baseLayer) {
|
|
70
90
|
case MAP_TYPE_DEFAULT:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
91
|
+
{
|
|
92
|
+
return !darkMode && useWebGL ? /*#__PURE__*/React.createElement(DefaultVectorLayer, {
|
|
93
|
+
api: api,
|
|
94
|
+
language: language,
|
|
95
|
+
key: baseLayer
|
|
96
|
+
}) : /*#__PURE__*/React.createElement(DefaultRasterLayer, {
|
|
97
|
+
api: api,
|
|
98
|
+
language: language,
|
|
99
|
+
key: baseLayer,
|
|
100
|
+
darkMode: darkMode
|
|
101
|
+
});
|
|
102
|
+
}
|
|
76
103
|
case MAP_TYPE_FLEET_STYLE:
|
|
77
104
|
return /*#__PURE__*/React.createElement(FleetStyleLayer, {
|
|
78
105
|
api: api,
|
|
@@ -91,11 +118,17 @@ var getBaseLayer = function getBaseLayer(api, baseLayer, language) {
|
|
|
91
118
|
language: language,
|
|
92
119
|
key: baseLayer
|
|
93
120
|
});
|
|
121
|
+
case MAP_TYPE_NIGHT:
|
|
122
|
+
return /*#__PURE__*/React.createElement(NightLayer, {
|
|
123
|
+
api: api,
|
|
124
|
+
language: language,
|
|
125
|
+
key: baseLayer
|
|
126
|
+
});
|
|
94
127
|
default:
|
|
95
128
|
null;
|
|
96
129
|
}
|
|
97
130
|
};
|
|
98
|
-
var
|
|
131
|
+
var enrichChildrenWithApi = function enrichChildrenWithApi(children, api) {
|
|
99
132
|
return React.Children.map(children, function (child) {
|
|
100
133
|
if (child) {
|
|
101
134
|
return /*#__PURE__*/React.cloneElement(child, {
|
|
@@ -139,7 +172,9 @@ var Map = function Map(props) {
|
|
|
139
172
|
onZoomIn = props.onZoomIn,
|
|
140
173
|
onZoomOut = props.onZoomOut,
|
|
141
174
|
mapSettingsTooltip = props.mapSettingsTooltip,
|
|
142
|
-
mapSettings = props.mapSettings
|
|
175
|
+
mapSettings = props.mapSettings,
|
|
176
|
+
useWebGL = props.useWebGL,
|
|
177
|
+
darkMode = props.darkMode;
|
|
143
178
|
var mapRef = useRef(null);
|
|
144
179
|
var _useState = useState(false),
|
|
145
180
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -147,107 +182,93 @@ var Map = function Map(props) {
|
|
|
147
182
|
setMapInitialized = _useState2[1];
|
|
148
183
|
var _useState3 = useState(),
|
|
149
184
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
var _useState5 = useState(),
|
|
185
|
+
api = _useState4[0],
|
|
186
|
+
setApi = _useState4[1];
|
|
187
|
+
var _useState5 = useState(mapType),
|
|
153
188
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
var _useState7 = useState(
|
|
189
|
+
baseLayer = _useState6[0],
|
|
190
|
+
setBaseLayer = _useState6[1];
|
|
191
|
+
var _useState7 = useState(mapLayer),
|
|
157
192
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
var _useState9 = useState(
|
|
193
|
+
activeLayers = _useState8[0],
|
|
194
|
+
setActiveLayers = _useState8[1];
|
|
195
|
+
var _useState9 = useState(externalShowCluster),
|
|
161
196
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
var
|
|
165
|
-
_useState12 = _slicedToArray(_useState11, 2),
|
|
166
|
-
showCluster = _useState12[0],
|
|
167
|
-
setShowCluster = _useState12[1];
|
|
197
|
+
showCluster = _useState10[0],
|
|
198
|
+
setShowCluster = _useState10[1];
|
|
199
|
+
var isDarkMode = useDarkMode();
|
|
168
200
|
useEffect(function () {
|
|
169
|
-
if
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
bounds: bounds,
|
|
188
|
-
// Removed window.devicePixelRatio || 1 since it was zooming out when devicePixelRatio > 1
|
|
189
|
-
pixelRatio: 1,
|
|
190
|
-
// need to be set for better performence of legacy map
|
|
191
|
-
engineType: H.map.render.RenderEngine.EngineType.P2D
|
|
192
|
-
});
|
|
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]);
|
|
212
|
+
var devicePixelRatio = window.devicePixelRatio || 1;
|
|
213
|
+
useEffect(function () {
|
|
214
|
+
console.debug('initialize here map');
|
|
215
|
+
var bounds = boundingBox && getBounds(boundingBox);
|
|
216
|
+
var platform = getPlatform(credentials);
|
|
217
|
+
var defaultLayers = platform.createDefaultLayers();
|
|
218
|
+
var defaultLayer = getDefaultBaseLayer(defaultLayers, baseLayer, useWebGL);
|
|
193
219
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
220
|
+
// Instantiate (and display) a map object:
|
|
221
|
+
var mapConfig = {
|
|
222
|
+
zoom: zoom,
|
|
223
|
+
center: center,
|
|
224
|
+
bounds: bounds,
|
|
225
|
+
pixelRatio: devicePixelRatio
|
|
226
|
+
};
|
|
227
|
+
var hereMap = new H.Map(mapRef.current, defaultLayer, mapConfig);
|
|
228
|
+
|
|
229
|
+
// Add a resize listener to make sure that the map occupies the whole container
|
|
230
|
+
var resizeListener = addEventListener(window, 'resize', throttle(RESIZE_THROTTLE, function () {
|
|
231
|
+
return hereMap.getViewPort().resize();
|
|
232
|
+
}));
|
|
233
|
+
var orientationChangeListener = addEventListener(window, 'orientationchange', throttle(RESIZE_THROTTLE, function () {
|
|
234
|
+
return hereMap.getViewPort().resize();
|
|
235
|
+
}));
|
|
236
|
+
setMapInitialized(true);
|
|
237
|
+
var hereMapEvents = !disableMapEvents && new H.mapevents.MapEvents(hereMap);
|
|
238
|
+
var hereBehavior = !(disableMapEvents || disableBehavior) && new H.mapevents.Behavior(hereMapEvents);
|
|
239
|
+
addEventListenerMap(hereMap, eventListenerMap, hereMap);
|
|
240
|
+
setApi({
|
|
241
|
+
credentials: credentials,
|
|
242
|
+
defaultLayers: defaultLayers,
|
|
243
|
+
group: hereMap,
|
|
244
|
+
map: hereMap,
|
|
245
|
+
mapEvents: hereMapEvents,
|
|
246
|
+
behavior: hereBehavior,
|
|
247
|
+
platform: platform,
|
|
248
|
+
ui: getHereUi(hereMap, defaultLayers, showScaleBar),
|
|
249
|
+
utils: createUtils(hereMap),
|
|
250
|
+
settings: {
|
|
216
251
|
baseLayer: baseLayer,
|
|
217
252
|
mapLayer: activeLayers,
|
|
218
253
|
showCluster: showCluster
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
behavior: newHereBehavior,
|
|
227
|
-
platform: platform,
|
|
228
|
-
ui: hereUi,
|
|
229
|
-
settings: newSettings,
|
|
230
|
-
utils: createUtils(newHereMap)
|
|
231
|
-
});
|
|
232
|
-
return function () {
|
|
233
|
-
if (newHereMap) {
|
|
234
|
-
removeEventListenerMap(newHereMap);
|
|
235
|
-
if (newHereMapEvents) {
|
|
236
|
-
newHereMapEvents.dispose();
|
|
237
|
-
}
|
|
238
|
-
if (resizeListener) {
|
|
239
|
-
resizeListener.remove();
|
|
240
|
-
}
|
|
241
|
-
if (orientationChangeListener) {
|
|
242
|
-
orientationChangeListener.remove();
|
|
243
|
-
}
|
|
244
|
-
//console.log('Destroy map', newHereMap);
|
|
245
|
-
newHereMap.dispose();
|
|
246
|
-
// setTimeout(() => newHereMap.dispose(), 0);
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
return function () {
|
|
257
|
+
if (hereMap) {
|
|
258
|
+
removeEventListenerMap(hereMap);
|
|
259
|
+
if (hereMapEvents) {
|
|
260
|
+
hereMapEvents.dispose();
|
|
247
261
|
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
262
|
+
if (resizeListener) {
|
|
263
|
+
resizeListener.remove();
|
|
264
|
+
}
|
|
265
|
+
if (orientationChangeListener) {
|
|
266
|
+
orientationChangeListener.remove();
|
|
267
|
+
}
|
|
268
|
+
hereMap.dispose();
|
|
269
|
+
}
|
|
270
|
+
};
|
|
271
|
+
}, [useWebGL]);
|
|
251
272
|
|
|
252
273
|
// Update BoundingBox from outside
|
|
253
274
|
useEffect(function () {
|
|
@@ -262,17 +283,25 @@ var Map = function Map(props) {
|
|
|
262
283
|
}
|
|
263
284
|
}, [boundingBox]);
|
|
264
285
|
|
|
265
|
-
// Update Zoom from outside
|
|
286
|
+
// Update Zoom from outside if value is different
|
|
266
287
|
useEffect(function () {
|
|
267
|
-
if (api
|
|
268
|
-
|
|
288
|
+
if (!api) {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
var currentMapZoom = api.utils.getZoom();
|
|
292
|
+
if (zoom && currentMapZoom !== zoom) {
|
|
293
|
+
api.utils.setZoom(zoom, zoomAnimation);
|
|
269
294
|
}
|
|
270
295
|
}, [zoom]);
|
|
271
296
|
|
|
272
|
-
// Update Lat & Lng from outside
|
|
297
|
+
// Update Lat & Lng from outside if value is different
|
|
273
298
|
useEffect(function () {
|
|
274
|
-
if (api && center) {
|
|
275
|
-
|
|
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);
|
|
276
305
|
}
|
|
277
306
|
}, [center]);
|
|
278
307
|
|
|
@@ -324,30 +353,22 @@ var Map = function Map(props) {
|
|
|
324
353
|
}));
|
|
325
354
|
};
|
|
326
355
|
var handleZoomIn = function handleZoomIn() {
|
|
327
|
-
var z = api.
|
|
356
|
+
var z = api.utils.getZoom();
|
|
328
357
|
var newZoom = z + 1;
|
|
329
358
|
onZoomIn(newZoom, z);
|
|
330
|
-
api.
|
|
359
|
+
api.utils.setZoom(newZoom, zoomAnimation);
|
|
331
360
|
};
|
|
332
361
|
var handleZoomOut = function handleZoomOut() {
|
|
333
|
-
var z = api.
|
|
362
|
+
var z = api.utils.getZoom();
|
|
334
363
|
var newZoom = z - 1;
|
|
335
364
|
onZoomOut(newZoom, z);
|
|
336
|
-
api.
|
|
337
|
-
};
|
|
338
|
-
var renderChildren = function renderChildren() {
|
|
339
|
-
if (!children) {
|
|
340
|
-
return null;
|
|
341
|
-
}
|
|
342
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
343
|
-
className: 'MapElements'
|
|
344
|
-
}, isFunction(children) ? children(api) : enhanceChildren(children, api));
|
|
365
|
+
api.utils.setZoom(newZoom, zoomAnimation);
|
|
345
366
|
};
|
|
346
367
|
var style = getStyle(height, width);
|
|
347
368
|
var autoHeightClass = isEmpty(style) ? 'height-100pct' : '';
|
|
348
369
|
var hideZoomButtons = disableBehavior;
|
|
349
370
|
return /*#__PURE__*/React.createElement("div", {
|
|
350
|
-
className: "Map position-relative ".concat(autoHeightClass),
|
|
371
|
+
className: "Map position-relative map-type-".concat(baseLayer.toLowerCase(), " ").concat(autoHeightClass),
|
|
351
372
|
style: style,
|
|
352
373
|
ref: mapRef
|
|
353
374
|
}, isMapInitialized && /*#__PURE__*/React.createElement(MapContext.Provider, {
|
|
@@ -367,15 +388,17 @@ var Map = function Map(props) {
|
|
|
367
388
|
onShowClusterChange: handleShowClusterChange,
|
|
368
389
|
mapSettingsTooltip: mapSettingsTooltip
|
|
369
390
|
}
|
|
370
|
-
}, mapSettings), getBaseLayer(api, baseLayer, language), map(function (layer) {
|
|
371
|
-
return getLayer(api, layer, language);
|
|
372
|
-
}, activeLayers),
|
|
391
|
+
}, mapSettings), getBaseLayer(api, baseLayer, language, useWebGL, darkMode), map(function (layer) {
|
|
392
|
+
return getLayer(api, layer, language, useWebGL);
|
|
393
|
+
}, activeLayers), children && /*#__PURE__*/React.createElement("div", {
|
|
394
|
+
className: 'MapElements'
|
|
395
|
+
}, isFunction(children) ? children(api) : enrichChildrenWithApi(children, api))));
|
|
373
396
|
};
|
|
374
|
-
;
|
|
375
397
|
Map.TYPE_DEFAULT = MAP_TYPE_DEFAULT;
|
|
376
398
|
Map.TYPE_FLEET_STYLE = MAP_TYPE_FLEET_STYLE;
|
|
377
399
|
Map.TYPE_SATELLITE = MAP_TYPE_SATELLITE;
|
|
378
400
|
Map.TYPE_TERRAIN = MAP_TYPE_TERRAIN;
|
|
401
|
+
Map.TYPE_NIGHT = MAP_TYPE_NIGHT;
|
|
379
402
|
Map.LAYER_INCIDENTS = MAP_LAYER_INCIDENTS;
|
|
380
403
|
Map.LAYER_TRAFFIC = MAP_LAYER_TRAFFIC;
|
|
381
404
|
Map.LAYER_ROAD_RESTRICTIONS = MAP_LAYER_ROAD_RESTRICTIONS;
|
|
@@ -393,7 +416,9 @@ Map.defaultProps = {
|
|
|
393
416
|
onMapLayerChange: function onMapLayerChange() {},
|
|
394
417
|
onShowClusterChange: function onShowClusterChange() {},
|
|
395
418
|
onZoomIn: function onZoomIn() {},
|
|
396
|
-
onZoomOut: function onZoomOut() {}
|
|
419
|
+
onZoomOut: function onZoomOut() {},
|
|
420
|
+
useWebGL: false,
|
|
421
|
+
darkMode: false
|
|
397
422
|
};
|
|
398
423
|
Map.propTypes = {
|
|
399
424
|
credentials: PropTypes.shape((_PropTypes$shape = {}, _defineProperty(_PropTypes$shape, 'app_id', PropTypes.string), _defineProperty(_PropTypes$shape, 'app_code', PropTypes.string), _defineProperty(_PropTypes$shape, 'api_key', PropTypes.string), _defineProperty(_PropTypes$shape, "apikey", PropTypes.string), _PropTypes$shape)).isRequired,
|
|
@@ -409,7 +434,7 @@ Map.propTypes = {
|
|
|
409
434
|
hideMapSettings: PropTypes.bool,
|
|
410
435
|
hideClusterSettings: PropTypes.bool,
|
|
411
436
|
hideMapLayerSettings: PropTypes.bool,
|
|
412
|
-
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]),
|
|
413
438
|
mapLayer: PropTypes.arrayOf(PropTypes.string),
|
|
414
439
|
showCluster: PropTypes.bool,
|
|
415
440
|
showScaleBar: PropTypes.bool,
|
|
@@ -420,6 +445,8 @@ Map.propTypes = {
|
|
|
420
445
|
onZoomOut: PropTypes.func,
|
|
421
446
|
getApi: PropTypes.func,
|
|
422
447
|
mapSettingsTooltip: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
|
|
423
|
-
mapSettings: PropTypes.node
|
|
448
|
+
mapSettings: PropTypes.node,
|
|
449
|
+
useWebGL: PropTypes.bool,
|
|
450
|
+
darkMode: PropTypes.bool
|
|
424
451
|
};
|
|
425
452
|
export default Map;
|
|
@@ -2,6 +2,7 @@ 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';
|
|
@@ -15,7 +15,6 @@ export var MISSING_POSITIONS_EXCEPTION_MSG = 'Route requires a minimum of 1 posi
|
|
|
15
15
|
export var TO_LESS_LINE_WIDTH_EXCEPTION_MSG = 'If isBorderIncludedInWidth is set to true than width has to be greater than twice of borderWidth';
|
|
16
16
|
var LINE_STROKE_COLOR = 'rgba(48, 194, 255, 1)';
|
|
17
17
|
var LINE_STROKE_COLOR_REDUCED = 'rgba(48, 194, 255, 0.5)';
|
|
18
|
-
var BORDER_STROKE_COLOR = 'rgba(255, 255, 255, 1)';
|
|
19
18
|
var BORDER_STROKE_COLOR_REDUCED = 'rgba(255, 255, 255, 0)';
|
|
20
19
|
var defaultStyle = {
|
|
21
20
|
width: 5,
|
|
@@ -25,12 +24,12 @@ var defaultStyle = {
|
|
|
25
24
|
isBorderIncludedInWidth: false
|
|
26
25
|
};
|
|
27
26
|
var defaultArrowStyle = {
|
|
28
|
-
lineWidth:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
lineTailCap: 'arrow-tail',
|
|
33
|
-
lineHeadCap: 'arrow-head'
|
|
27
|
+
// lineWidth: 12,
|
|
28
|
+
// strokeColor: 'rgba(0, 0, 0, 0.8)',
|
|
29
|
+
// lineDash: [0, 3],
|
|
30
|
+
// lineDashOffset: 2,
|
|
31
|
+
// lineTailCap: 'arrow-tail',
|
|
32
|
+
// lineHeadCap: 'arrow-head',
|
|
34
33
|
};
|
|
35
34
|
var alternativeRouteStyle = _objectSpread(_objectSpread({}, defaultStyle), {}, {
|
|
36
35
|
color: 'rgb(218,253,255)'
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
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; }
|
|
2
5
|
/* eslint-disable no-undef */
|
|
3
6
|
import { useState, useEffect, useContext } from 'react';
|
|
4
7
|
import PropTypes from 'prop-types';
|
|
@@ -35,15 +38,17 @@ var Polyline = function Polyline(_ref) {
|
|
|
35
38
|
// Create a patterned polyline:
|
|
36
39
|
|
|
37
40
|
// Non-legacy version:
|
|
38
|
-
var arrowLineStyle = new H.map.SpatialStyle({
|
|
39
|
-
width: 5,
|
|
41
|
+
var arrowLineStyle = new H.map.SpatialStyle(_objectSpread(_objectSpread({}, arrowStyle), {}, {
|
|
40
42
|
lineWidth: 10,
|
|
41
|
-
strokeColor: 'rgba(
|
|
42
|
-
|
|
43
|
+
strokeColor: 'rgba(0, 0, 0, 0.8)',
|
|
44
|
+
lineDash: [0, 3],
|
|
45
|
+
lineDashOffset: 1.6,
|
|
46
|
+
lineTailCap: 'arrow-tail',
|
|
47
|
+
lineHeadCap: 'arrow-head'
|
|
48
|
+
}));
|
|
43
49
|
var routeArrows = new H.map.Polyline(geometry, {
|
|
44
50
|
style: arrowLineStyle
|
|
45
51
|
});
|
|
46
|
-
routeArrows.setArrows(arrowStyle);
|
|
47
52
|
|
|
48
53
|
// create a group that represents the route line and contains
|
|
49
54
|
// outline and the pattern
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["useWebGL"];
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { FORMAT, TILE_SIZE } from '../../constants';
|
|
6
|
+
import { getPPI } from '../../mapUtils';
|
|
7
|
+
import Layer from './Layer';
|
|
8
|
+
var createRoadRestrictionLayer = function createRoadRestrictionLayer(useWebGL) {
|
|
9
|
+
return function (api, language) {
|
|
10
|
+
return api.platform.getMapTileService({
|
|
11
|
+
type: 'base'
|
|
12
|
+
}).createTileLayer('truckonlytile', 'normal.day', TILE_SIZE, FORMAT, {
|
|
13
|
+
style: 'default',
|
|
14
|
+
lg: language,
|
|
15
|
+
ppi: useWebGL ? undefined : getPPI()
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
var RoadRestrictionLayer = function RoadRestrictionLayer(props) {
|
|
20
|
+
var useWebGL = props.useWebGL,
|
|
21
|
+
remainingProps = _objectWithoutProperties(props, _excluded);
|
|
22
|
+
var createLayer = createRoadRestrictionLayer(useWebGL);
|
|
23
|
+
return /*#__PURE__*/React.createElement(Layer, _extends({}, remainingProps, {
|
|
24
|
+
createLayer: createLayer
|
|
25
|
+
}));
|
|
26
|
+
};
|
|
27
|
+
export default RoadRestrictionLayer;
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["useWebGL"];
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import { FORMAT, TILE_SIZE } from '../../constants';
|
|
5
6
|
import Layer from './Layer';
|
|
6
|
-
var
|
|
7
|
-
//
|
|
7
|
+
var createVebGlTrafficLayer = function createVebGlTrafficLayer(api, language) {
|
|
8
|
+
// use new Here 3.1 API traffic layer for WebGL
|
|
9
|
+
// https://developer.here.com/documentation/maps/3.1.37.0/dev_guide/topics/migration.html
|
|
10
|
+
|
|
11
|
+
// Create a traffic service and a corresponding provider.
|
|
12
|
+
var service = api.platform.getTrafficService();
|
|
13
|
+
var provider = new H.service.traffic.flow.Provider(service);
|
|
14
|
+
|
|
15
|
+
// Create a tile layer that can be added to the map
|
|
16
|
+
return new H.map.layer.TileLayer(provider);
|
|
17
|
+
};
|
|
18
|
+
var createRasterTrafficLayer = function createRasterTrafficLayer(api, language) {
|
|
8
19
|
return api.platform.getMapTileService({
|
|
9
20
|
type: 'traffic'
|
|
10
21
|
}).createTileLayer('flowtile', 'normal.day.grey', TILE_SIZE, FORMAT, {
|
|
@@ -13,8 +24,11 @@ var createTrafficLayer = function createTrafficLayer(api, language) {
|
|
|
13
24
|
});
|
|
14
25
|
};
|
|
15
26
|
var TrafficLayer = function TrafficLayer(props) {
|
|
16
|
-
|
|
17
|
-
|
|
27
|
+
var useWebGL = props.useWebGL,
|
|
28
|
+
remainingProps = _objectWithoutProperties(props, _excluded);
|
|
29
|
+
var createLayerCallback = useWebGL ? createVebGlTrafficLayer : createRasterTrafficLayer;
|
|
30
|
+
return /*#__PURE__*/React.createElement(Layer, _extends({}, remainingProps, {
|
|
31
|
+
createLayer: createLayerCallback
|
|
18
32
|
}));
|
|
19
33
|
};
|
|
20
34
|
export default TrafficLayer;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useBaseLayer } from './useBaseLayer';
|
|
2
|
+
import { MAP_TYPE_DEFAULT } from '../../../constants';
|
|
3
|
+
|
|
4
|
+
// https://developer.here.com/documentation/map-tile/dev_guide/topics/resource-info.html
|
|
5
|
+
|
|
6
|
+
var DefaultRasterLayer = function DefaultRasterLayer(props) {
|
|
7
|
+
var api = props.api,
|
|
8
|
+
language = props.language;
|
|
9
|
+
useBaseLayer({
|
|
10
|
+
api: api,
|
|
11
|
+
language: language,
|
|
12
|
+
mapType: MAP_TYPE_DEFAULT,
|
|
13
|
+
additionalParameters: {
|
|
14
|
+
style: 'alps'
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
return null;
|
|
18
|
+
};
|
|
19
|
+
export default DefaultRasterLayer;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useBaseLayer } from './useBaseLayer';
|
|
2
|
+
import { MAP_TYPE_DEFAULT } from '../../../constants';
|
|
3
|
+
var DefaultVectorLayer = function DefaultVectorLayer(props) {
|
|
4
|
+
var api = props.api,
|
|
5
|
+
language = props.language;
|
|
6
|
+
useBaseLayer({
|
|
7
|
+
api: api,
|
|
8
|
+
language: language,
|
|
9
|
+
mapType: MAP_TYPE_DEFAULT,
|
|
10
|
+
additionalParameters: {},
|
|
11
|
+
isWebGL: true
|
|
12
|
+
});
|
|
13
|
+
return null;
|
|
14
|
+
};
|
|
15
|
+
export default DefaultVectorLayer;
|
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { FORMAT, TILE_SIZE } from '../../../constants';
|
|
4
|
-
import BaseLayer from './BaseLayer';
|
|
5
|
-
var createFleetStyleLayer = function createFleetStyleLayer(api, language, showTraffic) {
|
|
6
|
-
var type = showTraffic ? 'traffic' : 'base';
|
|
7
|
-
var tileType = showTraffic ? 'traffictile' : 'maptile';
|
|
8
|
-
return api.platform.getMapTileService({
|
|
9
|
-
type: type
|
|
10
|
-
}).createTileLayer(tileType, 'normal.day', TILE_SIZE, FORMAT, {
|
|
11
|
-
style: 'fleet',
|
|
12
|
-
lg: language
|
|
13
|
-
});
|
|
14
|
-
};
|
|
1
|
+
import { useBaseLayer } from './useBaseLayer';
|
|
2
|
+
import { MAP_TYPE_FLEET_STYLE } from '../../../constants';
|
|
15
3
|
var FleetStyleLayer = function FleetStyleLayer(props) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
4
|
+
var api = props.api,
|
|
5
|
+
language = props.language;
|
|
6
|
+
useBaseLayer({
|
|
7
|
+
api: api,
|
|
8
|
+
language: language,
|
|
9
|
+
mapType: MAP_TYPE_FLEET_STYLE,
|
|
10
|
+
additionalParameters: {
|
|
11
|
+
style: 'fleet'
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
return null;
|
|
19
15
|
};
|
|
20
16
|
export default FleetStyleLayer;
|