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.