var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let Routes; (function (Routes) { let Map; (function (Map) { class TripLocationViewer extends Unibase.Platform.Core.BaseComponent { cssFiles() { return []; } jsFiles() { return ['apps/crm/employees/managers/gpslocationmanager.js']; } html(id, containerid) { let html = ``; return html; } load(id, containerid, callback) { const instance = this; $('#closeMapBtn').click(function () { instance.navigationHelper.closePopUp(); }); } getgpslocations(userid, tripgroupid, tracktime) { if (userid != 0 || tripgroupid != 0) { this.fileCacheHelper.loadJsFile('apps/crm/employees/managers/gpslocationmanager.js', function () { return __awaiter(this, void 0, void 0, function* () { var lat_lng = new Array(); var latlngbounds = new google.maps.LatLngBounds(); var infoWindow = new google.maps.InfoWindow(); var markPoints = []; var addressobj = new Array(); debugger; if (userid != 0) { const userLocations = yield Bizgaze.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().getuserlocationsbyuseridanddatetime(userid, tracktime); if (userLocations.result.length) { markPoints['users'] = userLocations.result; } if (tripgroupid != 0) { const customerLocations = yield Bizgaze.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().GetCustomerLocationsByTripGroupId(tripgroupid); if (customerLocations.result.length) { markPoints['customers'] = customerLocations.result; } } var infoWindow = new google.maps.InfoWindow({ pixelOffset: new google.maps.Size(0, -5) }); var mapOptions = { center: new google.maps.LatLng(0, 0), zoom: 1, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById('tripGpsLocationMap'), mapOptions); for (const contact in markPoints) { debugger; const isUser = contact === 'users'; for (let i = 0; i <= markPoints[contact].length - 1; i++) { var data = markPoints[contact][i]; const latitude = isUser ? data.Latitude : data.latitude; const longitude = isUser ? data.Longitude : data.longitude; var myLatlng = new google.maps.LatLng(latitude, longitude); if (isUser) { lat_lng.push(myLatlng); } var icon = data.color; var lineSymbol = { path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW }; icon = "https://maps.google.com/mapfiles/ms/icons/" + icon + ".png"; var marker; if (isUser) { marker = new google.maps.Marker({ position: myLatlng, map: map, draggable: false, title: data.Address, label: { fontSize: '12px', fontWeight: '200', text: '.', } }); } else { marker = new google.maps.Marker({ position: myLatlng, map: map, draggable: false, title: data.address, label: { fontSize: '12px', fontWeight: '200', text: '.', } }); } google.maps.event.addListener(marker, 'mouseout', function (c) { infoWindow.close(); }); marker.setIcon({ path: google.maps.SymbolPath.CIRCLE, fillOpacity: 1, fillColor: isUser ? 'red' : 'Orange', strokeOpacity: 1, strokeWeight: 1, strokeColor: '#333', scale: 6, scaledSize: new google.maps.Size(65, 80), }); var poly = new google.maps.Polyline({ map: map, strokeColor: '#FF0000', geodesic: true, strokeOpacity: 1.0, strokeWeight: 2, path: lat_lng }); marker.setMap(map); latlngbounds.extend(marker.position); map.fitBounds(latlngbounds); } } } }); }); } } static Instance() { if (this.instance === undefined) { this.instance = new TripLocationViewer(); } return this.instance; } } Map.TripLocationViewer = TripLocationViewer; })(Map = Routes.Map || (Routes.Map = {})); })(Routes = Apps.Routes || (Apps.Routes = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));