1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
import { grey, indigo } from '@mui/material/colors';
import createPalette from '@mui/material/styles/createPalette';
import { loadImage, prepareIcon } from './mapUtil';
import directionSvg from '../../resources/images/direction.svg';
import backgroundSvg from '../../resources/images/background.svg';
import animalSvg from '../../resources/images/icon/animal.svg';
import bicycleSvg from '../../resources/images/icon/bicycle.svg';
import boatSvg from '../../resources/images/icon/boat.svg';
import busSvg from '../../resources/images/icon/bus.svg';
import carSvg from '../../resources/images/icon/car.svg';
import craneSvg from '../../resources/images/icon/crane.svg';
import defaultSvg from '../../resources/images/icon/default.svg';
import helicopterSvg from '../../resources/images/icon/helicopter.svg';
import motorcycleSvg from '../../resources/images/icon/motorcycle.svg';
import offroadSvg from '../../resources/images/icon/offroad.svg';
import personSvg from '../../resources/images/icon/person.svg';
import pickupSvg from '../../resources/images/icon/pickup.svg';
import planeSvg from '../../resources/images/icon/plane.svg';
import scooterSvg from '../../resources/images/icon/scooter.svg';
import shipSvg from '../../resources/images/icon/ship.svg';
import tractorSvg from '../../resources/images/icon/tractor.svg';
import trainSvg from '../../resources/images/icon/train.svg';
import tramSvg from '../../resources/images/icon/tram.svg';
import trolleybusSvg from '../../resources/images/icon/trolleybus.svg';
import truckSvg from '../../resources/images/icon/truck.svg';
import vanSvg from '../../resources/images/icon/van.svg';
export const mapIcons = {
animal: animalSvg,
bicycle: bicycleSvg,
boat: boatSvg,
bus: busSvg,
car: carSvg,
crane: craneSvg,
default: defaultSvg,
helicopter: helicopterSvg,
motorcycle: motorcycleSvg,
offroad: offroadSvg,
person: personSvg,
pickup: pickupSvg,
plane: planeSvg,
scooter: scooterSvg,
ship: shipSvg,
tractor: tractorSvg,
train: trainSvg,
tram: tramSvg,
trolleybus: trolleybusSvg,
truck: truckSvg,
van: vanSvg,
};
export const mapIconKey = (category) => (mapIcons.hasOwnProperty(category) ? category : 'default');
export const mapImages = {};
const mapPalette = createPalette({
primary: { main: indigo[900] },
neutral: { main: grey[500] },
});
export default async () => {
const background = await loadImage(backgroundSvg);
mapImages.background = await prepareIcon(background);
mapImages.direction = await prepareIcon(await loadImage(directionSvg));
await Promise.all(Object.keys(mapIcons).map(async (category) => {
const results = [];
['primary', 'success', 'error', 'neutral'].forEach((color) => {
results.push(loadImage(mapIcons[category]).then((icon) => {
mapImages[`${category}-${color}`] = prepareIcon(background, icon, mapPalette[color].main);
}));
});
await Promise.all(results);
}));
};
|