PageSourceSearch

https://portal.unifleet.se/travel.js

js unifleet.se collected 2026-09-26 05:33:20 UTC 5,055 bytes, 185 lines download raw bytes

1var defaultIcon = {
2    url: '/Icons/dot-default.svg',
3    scaledSize: new google.maps.Size(15, 15)
4};
5
6var activeIcon = {
7    url: '/Icons/dot-hover.svg',
8    scaledSize: new google.maps.Size(15, 15)
9};
10var startIcon = {
11    url: '/Icons/dot-start.svg',
12    scaledSize: new google.maps.Size(20, 20)
13};
14var endIcon = {
15    url: '/Icons/dot-finish.svg',
16    scaledSize: new google.maps.Size(20, 20)
17};
18var parkedIcon = {
19    url: '/Icons/dot-parked.svg',
20    scaledSize: new google.maps.Size(16, 16)
21};
22
23var infoWindow = new google.maps.InfoWindow({
24    content: 'Test Test'
25});
26
27function activateMarker(vehicleId) {
28    var markerToActivate = markers[vehicleId];
29    if (markerToActivate) {
30        google.maps.event.trigger(markerToActivate, 'click');
31    }
32}
33
34var map;
35var marker;
36var markers = {};
37var currentlyOpenInfoWindow = null;
38var currentlyActiveMarker = null;
39
40
41function initializeMapTravels(centerLat, centerLng) {
42    var mapDiv = document.getElementById("map");
43    if (mapDiv) {
44        map = new google.maps.Map(mapDiv, {
45            center: {lat: centerLat, lng: centerLng},
46            zoom: 8,
47            maxZoom: 14,
48            minZoom: 3,
49            streetViewControl: false
50        });
51    } else {
52        console.error("Map div not found, unable to initialize the map.");
53    }
54} 
55
56function addOrUpdateVehicleMarker(vehicle, objRef) {
57    var position = {
58        lat: vehicle.lat,
59        lng: vehicle.lng
60    };
61
62    var localMarker;
63
64    if (markers[vehicle.id]) {
65        localMarker = markers[vehicle.id];
66        localMarker.setPosition(position);
67    } else {
68        var icon = (vehicle.status === "parked") ? parkedIcon : defaultIcon;
69        localMarker = new google.maps.Marker({
70            position: position,
71            map: map,
72            icon: icon,
73            title: vehicle.regNumber,
74            id: vehicle.id,
75            vehicleData: vehicle
76        });
77
78        markers[vehicle.id] = localMarker;
79    }
80
81    var infoWindow = new google.maps.InfoWindow({
82        content: '<div style="font-weight: bold">' + vehicle.regNumber + '</div>'
83    });
84
85    localMarker.addListener("click", function () {
86        if (currentlyOpenInfoWindow) {
87            currentlyOpenInfoWindow.close();
88        }
89
90        for (var id in markers) {
91            var currentIcon = (markers[id].vehicleData.status === "parked") ? parkedIcon : defaultIcon;
92            markers[id].setIcon(currentIcon);
93            markers[id].setZIndex(1);
94
95        }
96
97        localMarker.setIcon(activeIcon);
98        localMarker.setZIndex(1000);
99
100        infoWindow.open(map, localMarker);
101        currentlyOpenInfoWindow = infoWindow;
102
103        objRef.invokeMethodAsync('MarkerClicked', vehicle.id);
104    });
105}
106
107var markersForTravel = [];
108
109function addMarker(longAndLats) {
110    for (var i = 0; i < longAndLats.length; i++) {
111
112        lat = parseFloat(longAndLats[i].lat);
113        lng = parseFloat(longAndLats[i].lng);
114
115        if (i === 0) {
116            marker = new google.maps.Marker({
117                position: {lat: lat, lng: lng},
118                map: map,
119                icon: startIcon,
120            });
121            markersForTravel.push(marker);
122        }
123        if (i === longAndLats.length - 1) {
124            marker = new google.maps.Marker({
125                position: {lat: lat, lng: lng},
126                map: map,
127                icon: endIcon,
128            });
129            markersForTravel.push(marker);
130        }
131
132        if (i > 0) {
133            var line = new google.maps.Polyline({
134                path: [
135                    {lat: parseFloat(longAndLats[i - 1].lat), lng: parseFloat(longAndLats[i - 1].lng)},
136                    {lat: lat, lng: lng}
137                ],
138                strokeColor: '#00BCD4',
139                strokeOpacity: 1.0,
140                strokeWeight: 7,
141
142            });
143
144            line.setMap(map);
145        }
146    }
147}
148
149function initializeMap() {
150    window.google = window.google || {};
151    window.google.maps = window.google.maps || {};
152
153}
154
155function createMap(elementId, lat, lng) {
156    map = new google.maps.Map(document.getElementById(elementId), {
157        center: {lat: lat, lng: lng},
158        zoom: 10,
159        maxZoom: 14,
160    });
161    map.setOptions({streetViewControl: false});
162}
163
164function clearAllMarkers() {
165    console.log("Attempting to clear markers");
166    var mapDiv = document.getElementById('map');
167    if (mapDiv) {
168        console.log("Map div found, clearing markers");
169        for (var id in markers) {
170            if (markers.hasOwnProperty(id)) {
171                markers[id].setMap(null);
172            }
173        }
174        markers = {};
175    } else {
176        console.warn('Map div not found.');
177    }
178}
179function removeInactiveMarker(vehicleId) {
180    var markerToRemove = markers[vehicleId];
181    if (markerToRemove) {
182        markerToRemove.setMap(null);
183        delete markers[vehicleId];
184    }
185}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.