var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let Crm; (function (Crm) { let Employees; (function (Employees) { let Components; (function (Components) { class EmployeeRoute extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this._bizgazegps_TripStatus = null; this._bizgazegps_TripId = 0; this._bizgazegps_AddressId = 0; this._bizgazegps_btnText = "Arrived"; this._tripTrackStatusId = 0; this._tripTrackStatusIds = 0; this.tripTrackStatus = "Arrived"; this._tripDistancAndDurations = []; this._meterTripIdId = 0; this._bizgaze_latd = 0; this._bizgaze_lgtd = 0; } cssFiles() { return []; } jsFiles() { return ['apps/crm/employees/managers/gpslocationmanager.js', 'apps/routes/managers/routemanager.js', 'apps/transact/managers/invoicemanager.js', 'apps/transact/managers/orders/ordermanager.js', 'platform/core/helpers/numberhelper/numberhelper.js', 'apps/crm/employees/components/meterreading.js', 'apps/crm/contacts/managers/contactmanager.js']; } html(id, containerid) { var html = `
`; return html; } init(containerid) { var instance = this; instance.fileCacheHelper.loadJsFiles(["apps/crm/employees/components/w_employeeroute.js", "apps/crm/employees/managers/gpslocationmanager.js"], function () { instance.navigationHelper.loadSection(0, containerid, Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance(), null, null); }); } load(id, containerid, callback) { let instance = this; instance.loadRoutes(); $("#cmbRoutes").change(function () { $('#hfSeletedRouteId').val($("#cmbRoutes").val()); instance.loadRouteMap($("#cmbRoutes").val()); }); $("#btnMap").click(function () { $(".divgrid").addClass('hidden'); $(".divmap").removeClass('hidden'); }); $("#btnGrid").click(function () { $(".divgrid").removeClass('hidden'); $(".divmap").addClass('hidden'); }); $("#btnNewTrip").click(function () { instance.createTrip($("#hfTripGroupId").val()); }); $('#btnCreateLead').click(function () { }); $("#btnStartTrip").click(function () { var callback = instance.callbacks; Bizgaze.Apps.Crm.Employees.Components.MeterReading.Instance().loadPop(1, $("#hfMeterReadingId").val(), instance._meterTripIdId, callback); }); $("#btnStopTrip").click(function () { var callback = instance.callbacks; Bizgaze.Apps.Crm.Employees.Components.MeterReading.Instance().loadPop(0, $("#hfMeterReadingId").val(), instance._meterTripIdId, callback); }); $("#bizTotalCustomers").click(function () { $('#divTotalCusomers').modal(); var val = $("#cmbRoutes").val(); if (val == "") val = $("#hfSeletedRouteId").val(); instance.getCustomerDetailsByRouteId(val); }); $("#btnAddMeeting").click(function () { }); $("#bizDueAmount").click(function () { $('#divTotalDueAmount').modal(); }); } callbacks(tripId) { let instance = this; instance._meterTripIdId = tripId; } getMeterReading() { let instance = this; Bizgaze.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().GetMyMeterReading().then(function (response) { debugger; if (response.result != null && response.result.meterReadingId != 0) { $(".btnStopTrip").removeClass('hidden'); $(".btnStartTrip").addClass('hidden'); $("#hfMeterReadingId").val(response.result.meterReadingId); instance._meterTripIdId = response.result.tripId; } else { $(".btnStopTrip").addClass('hidden'); $(".btnStartTrip").removeClass('hidden'); } }); } getCustomerDetailsByRouteId(routeId) { $(".customer-additem").each(function () { $(this).remove(); }); Number(routeId); Bizgaze.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().GetCustomerDetailsByRouteId(routeId).then(function (response) { if (response.result != null) { for (var i = 0; i < response.result.length; i++) { var data = response.result[i]; var spocNumber = "--"; if (data.PhoneNumber != null) { spocNumber = data.PhoneNumber; } let html = '
  • ' + '' + '
    ' + data.OrganizationName + '
    ' + '
    ' + data.OrgContactName + ' Months recuring
    ' + '' + '
    ' + '
  • '; $(".routeCustomer-item:last").after(html); } } }); } getDutAmount() { } saveTrip(toAddressId, routeVersionGuid, status, routeStatus, MeterId, tripId) { var instance = this; if (routeStatus == 1) { $(".divbtnTripStart_" + toAddressId).addClass('hidden'); $(".divbtnTripCancel_" + toAddressId).removeClass('hidden'); $(".btnTripTrackStatus_Arrived").removeClass("hidden"); $(".btnCustomerTripStart").addClass('hidden'); } if (status == "Started") { status = 1; } else if (status == "Canceled") { status = 2; } else if (status == "Completed") { status = 3; } var postData = { TripId: tripId, ToAddressId: toAddressId, RefGuid: routeVersionGuid, TripStatus: status, TripGroupId: Number($("#hfTripGroupId").val()) }; Bizgaze.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().SaveTrip(postData).then(function (response) { var id = response.result.tripId; var status = response.result.tripStatusId; var AddressId = response.result.toAddressId; instance._bizgazegps_AddressId = AddressId; instance._bizgazegps_TripId = id; if (status == 1) { $(".btnCustomerTripStart").addClass('hidden'); instance._tripTrackStatusIds = 1; instance.saveTripTrack('Started', id); } else if (status == 2) { instance._bizgazegps_AddressId = 0; instance.saveTripTrack('Stepout', id); instance._bizgazegps_TripId = 0; } else if (status == 3) { instance._tripTrackStatusIds = 0; $(".btnCustomerTripComplete").addClass('hidden'); instance.saveTripTrack('Completed', id); } instance.loadRouteMap($("#cmbRoutes").val()); }, function (response) { MessageHelper.Instance().showError(response, 'bizgaze_CreateErrorMessages'); }); } saveTripTrack(status, tripId) { let instance = this; if (status == "Started") { status = 1; } else if (status == "Stepout") { status = 3; } else if (status == "Completed") { status = 2; } var postData = { TripId: tripId, TripTrackStatus: status, }; Bizgaze.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().SaveTripTrack(postData).then(function (response) { var statusId = response.result.tripTrackStatusId; var AddressId = response.result.toAddressId; instance._bizgazegps_AddressId = AddressId; if (status == "Arrived") { $(".btnTripTrackStatus_Arrived").addClass('hidden'); $(".btnTripTrack_Completed").removeClass('hidden'); } if (statusId == 1) { instance._tripTrackStatusId = 1; instance._bizgazegps_btnText = "Arrived"; instance.tripTrackStatus = "Arrived"; } else if (statusId == 2) { instance._tripTrackStatusId = 2; $(".btnTripTrack_Completed").removeClass("hidden"); } else if (statusId == 3) { instance._bizgazegps_TripId = 0; $(".divbtnTripStart_" + AddressId).addClass('hidden'); instance._bizgazegps_AddressId = 0; instance._tripTrackStatusIds = 0; instance.loadRouteMap($("#hfSeletedRouteId").val()); } }, function (response) { bootbox.alert("Co-ordinate mismatched..."); }); } editMeeting(addressId) { } loadRouteMap(routeId) { let instance = this; Bizgaze.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().GetRouteById(routeId).then(function (response) { var routeDistance = 0; var routeDuration = 0; var markerdata = []; var distance = []; var Currentlat = instance._bizgaze_latd; var Currentlgt = instance._bizgaze_lgtd; var distance = []; var lat1 = ""; var lgt1 = ""; var lat2 = ""; var lgt2 = ""; var myLatlng = new google.maps.LatLng(Currentlat, Currentlgt); var mapOptions = { center: myLatlng, zoom: 6, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("NavigateEmployeeMap"), mapOptions); var infoWindow = new google.maps.InfoWindow(); var lat_lng = new Array(); var latlngbounds = new google.maps.LatLngBounds(); var distance1 = 0; var coordinates = []; if (response.result == null || response.result.length <= 0) { $('#NavigateEmployeeMap').html("NO RECORD FOUND"); } else { $("#tblMap").empty(); } var unknownAddresstableView = ""; var MissingCoordinatesName = ""; $(".customerList").html(''); for (var i = 0; i < response.result.length; i++) { var model = response.result[i]; if (!model.CoordinatesNotFound) { MissingCoordinatesName += model.contactName + ","; var MissingContactName = MissingCoordinatesName.substring(0, MissingCoordinatesName.length - 1); $(".lbMissingCustomersName").text(MissingContactName); unknownAddresstableView = ""; unknownAddresstableView = unknownAddresstableView + "" + model.contactName + ""; unknownAddresstableView = unknownAddresstableView + "" + model.addressName + ',' + model.addressLine1 + '' + model.cityName + ',' + model.districtName + ',' + model.stateName + ' ' + model.zipCode + ' - ' + model.countryName + ""; } let p1; let p2; let lat = parseFloat($("#hflat").val().toString()); let lng = parseFloat($("#hflag").val().toString()); if (i == 0) { } else { p1 = new google.maps.LatLng(lat, lng); p2 = new google.maps.LatLng(model.latId, model.lngId); } $("#hflat").val(model.latId); $("#hflag").val(model.lngId); if (model.tripStatus == "Started") { instance._tripTrackStatusIds = model.activetripTrackStatus; } $("#hfBizgaze_GpsTripGroupName").val(model.routeName + '-' + model.scheduleDate); if (model.tripGroupStatus == "Started") { $(".divcmdroutes").addClass('hidden'); $(".divRouteName").removeClass('hidden'); var routeName = $("#cmbRoutes option:selected").text(); $("#lbRouteName").html(routeName); } else { if (model.tripGroupStatus != "" && model.tripGroupStatus != 0 && model.tripGroupStatus != null) { $(".divcmdroutes").removeClass('hidden'); $(".divRouteName").addClass('hidden'); } } if (model.tripGroupStatus != "" && model.tripGroupStatus != null) { $("#hfTripGroupStatus").val(model.tripGroupStatus); if (model.tripGroupStatus != 0) { $("#btnStartTrip").hide(); $('#btnCancelTrip').removeClass('hidden'); $('#btnStopTrip').removeClass('hidden'); $("#btnCreateLead").removeClass('hidden'); } } markerdata.push({ lat: parseFloat(model.latId), lng: parseFloat(model.lngId), ContactAddressId: model.contactAddressId, contactId: model.contactId, distance: 0, point1: p1, point2: p2, contactName: model.contactName, routeVersionGuid: model.routeVersionGuid, tripStatus: model.tripStatus, tripId: model.tripId, activeTripAddressId: model.activeTripAddressId, IsActiveTrip: model.isActiveTrip, contactPhotoUrl: model.contactPhotoUrl, activetripTrackStatus: model.activetripTrackStatus, routeIndex: model.routeIndex }); $(".lbCustomers").text(response.result.length - 1); if (model.tripGroupId != 0) { $("#hfTripGroupId").val(model.tripGroupId); $(".divNewTrip").removeClass('hidden'); } } var markers = markerdata; var lan1 = ""; var lat1 = ""; for (var i = 0; i < markers.length; i++) { var data = markers[i]; var myLatlng = new google.maps.LatLng(parseFloat(data.lat), parseFloat(data.lng)); lat_lng.push(myLatlng); var icon = ""; if (i == 0) { icon = "Views/Bizgaze_GpsTrack/Widgets/Mapicon/selasemain_02.png"; } else { if (data.tripStatus == "Started") { icon = "Views/Bizgaze_GpsTrack/Widgets/Mapicon/Company.png?chst=d_map_pin_letter&chld=5|FF0000|"; } else if (data.tripStatus == "Completed") { icon = "Views/Bizgaze_GpsTrack/Widgets/Mapicon/Success.png?chst=d_map_pin_letter&chld=5|FF0000|"; } else if (data.tripStatus == "Canceled") { icon = "Views/Bizgaze_GpsTrack/Widgets/Mapicon/Cancel.png?chst=d_map_pin_letter&chld=5|FF0000|"; } else { icon = "Views/Bizgaze_GpsTrack/Widgets/Mapicon/compant-location_02.png?chst=d_map_pin_letter&chld=5|FF0000"; } } var image = { url: icon, origin: new google.maps.Point(0, 0), anchor: new google.maps.Point(25, 25), scaledSize: new google.maps.Size(50, 50) }; var marker = new google.maps.Marker({ position: myLatlng, map: map, draggable: false, animation: google.maps.Animation.DROP, icon: image, title: data.title }); latlngbounds.extend(myLatlng); if (i == 0) { lan1 = markers[0].lng; lat1 = markers[0].lat; } var lan2 = data.lat; var latt2 = data.lng; var url = "https://www.google.co.in/maps/dir/" + parseFloat(lat1) + parseFloat(lan1) + parseFloat(lan2) + parseFloat(latt2); (function (marker, data) { google.maps.event.addListener(marker, "click", function (e) { if (data.distance == 0) { var isStarted1 = ""; var isCompleted1 = "hidden"; var isCanceled1 = "hidden"; var isArrived1 = "hidden"; if (data.tripStatus == "Started") { isStarted1 = 'hidden'; isArrived1 = ''; isCanceled1 = ''; if (data.activetripTrackStatus == "2") { isArrived1 = 'hidden'; isCompleted1 = ''; } } if (data.tripStatus == "Completed") { isCompleted1 = 'hidden'; isStarted1 = 'hidden'; isCanceled1 = 'hidden'; } if (data.tripStatus == "Canceled") { isCanceled1 = 'hidden'; isArrived1 = 'hidden'; isStarted1 = 'hidden'; } if (instance._tripTrackStatusIds == 2 || instance._tripTrackStatusIds == 1) isStarted1 = 'hidden'; if (instance._bizgazegps_AddressId == data.contactAddressId) { if (instance._tripTrackStatusId == 1) isArrived1 = ""; else isCompleted1 = ''; isCanceled1 = ''; } instance._bizgazegps_TripId = data.tripId; instance.calcDistance(data.point1, data.point2, function (dist) { infoWindow.setContent('
    ' + '' + data.contactName + '' + 'Distance: ' + dist[0].distance + ' km View Details' + '
    Duration: ' + dist[0].duration + ' minutes ' + '
    ' + '' + '
    Cancel' + 'Arrived' + 'Done' + '
    ' + '

    Navigate

    ' + '
    '); infoWindow.open(map, marker); }); } else { infoWindow.open(map, marker); } }); })(marker, data); map.setCenter(latlngbounds.getCenter()); map.fitBounds(latlngbounds); if (i != 0) { var count = i; var htm = ""; if (markerdata[i].lat != 0 && markerdata[i].lng != 0) { instance.calcDistance(markerdata[i].point1, markerdata[i].point2, function (dist) { htm += '' + dist[0].distance + ' KM Away.
    ' + '' + dist[0].duration + ' Minutes to reach
    '; }); } var completed = ""; if (data.tripStatus == "Completed") completed = ''; if (data.tripStatus == "Canceled") completed = ''; var html = '
    ' + '
    ' + '
    ' + '' + '' + '' + markerdata[count].routeIndex + '' + ' ' + '' + markerdata[count].contactName + '
    ' + '
    ' + '' + completed + '' + '
    '; html = html + htm; html += '
    '; var isStarted = ""; var isCompleted = "hidden"; var isCanceled = "hidden"; var isArrived = "hidden"; var IsCreate = "hidden"; var IsDetails = "hidden"; if (data.tripStatus == "Started") { isStarted = 'hidden'; isArrived = ''; isCanceled = ''; if (data.activetripTrackStatus == "2") { isArrived = 'hidden'; isCompleted = ''; } } if (data.tripStatus == "Completed") { isCompleted = 'hidden'; isStarted = 'hidden'; isCanceled = 'hidden'; IsCreate = ''; IsDetails = ''; } if (data.tripStatus == "Canceled") { isCanceled = 'hidden'; isArrived = 'hidden'; isStarted = 'hidden'; } if ((instance._tripTrackStatusIds == 2 || instance._tripTrackStatusIds == 1) && data.tripStatus != "Completed") { isStarted = 'hidden'; isArrived = ''; isCanceled = ''; } if ($('#hfTripGroupStatus').val() == "Started" && data.tripStatus == "") { isStarted = 'hidden'; isArrived = ''; isCanceled = ''; } html += '
    ' + '' + 'Create' + '' + ' Details'; html += 'Start' + 'Cancel' + '' + instance._bizgazegps_btnText + '' + 'Done' + '' + '
    ' + '' + '
    ' + '
    ' + '
    '; $(".routeUser-item:last").after(html); } let _numberHelper = Unibase.Core.Helpers.NumberHelper.Instance(); var totalDistance = 0; var totalDuration = 0; if (data.distance == 0) { instance.calcDistance(data.point1, data.point2, function (dist) { totalDistance += parseFloat(dist[0].distance); totalDuration += parseFloat(dist[0].duration); $("#bizTotalKm").text(_numberHelper.roundNumber(totalDistance, 1)); $(".lbDuration").text(totalDuration); }); } } var iconsetngs = { path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW }; var polylineoptns = { strokeOpacity: 0.8, strokeWeight: 3, map: map, strokeColor: "#008000", icons: [{ repeat: '70px', icon: iconsetngs, offset: '100%', }] }; let polyline = new google.maps.Polyline(polylineoptns); var z = 0; var path = []; path[z] = polyline.getPath(); for (var i = 0; i < markers.length; i++) { var pos = markers[i]; var marker = new google.maps.Marker({ position: pos, map: map, }); path[z].push(marker.getPosition()); } }); } createTrip(tripGroupId) { } creates(status, contactId) { let instance = this; ; Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrganizationById(contactId).then(function (response) { var spocId = contactId; var OrgGroupId = 0; if (response.result != null) { spocId = response.result.DefaultOrgContactId; OrgGroupId = response.result.OrganizationGroupId; } var url = ''; if (status == "1") { if (response.result != null) url = '/bizgazeapp/organization/CreateOrganization?RefGuid=&Id=' + OrgGroupId; else { url = '/bizgazeapp/spoc/Createspoc'; } } else if (status == "2") url = '/bizgazetransact/Orders/CreateSalesOrderByOrg?OrgId=' + contactId; else if (status == "3") { if (response.result != null) url = '/bizgazetransact/Payments/CreateReceiptByOrgGuid?OrgGuid=' + response.result.VersionGuid; else url = '/bizgazetransact/Payments/CreateReceipt?paymentType=Receipt&contactId=' + contactId; } }); } loadRoutes() { let instance = this; instance.getMeterReading(); Bizgaze.Apps.Routes.Managers.RouteManager.Instance().getMyRoutes().then(function (response) { var startedRoute = 0; var cmbRoutes = document.getElementById('cmbRoutes'); $('#cmbRoutes').empty(); var defaultOpt = document.createElement("option"); defaultOpt.text = "--Select Route--"; defaultOpt.value = ""; cmbRoutes.append(defaultOpt); for (var i = 0; i < response.result.length; i++) { var opt = document.createElement("option"); opt.text = response.result[i].RouteName; opt.value = response.result[i].RouteDefinitionId; cmbRoutes.append(opt); } if (response.result.length == 1) { for (var j = 0; j < response.result.length; j++) { var routeName = response.result[j].RouteName; var routeId = response.result[j].RouteDefinitionId; $("#lbRouteName").text(routeName); $("#lbRouteAssignedEmployee").text(response.result[j].RouteAssignedEmployee); instance.loadRouteMap(routeId); $('#hfSeletedRouteId').val(routeId); } $(".divcmdroutes").addClass('hidden'); $(".divRouteName").removeClass('hidden'); } else { $(".divcmdroutes").removeClass('hidden'); $(".divRouteName").addClass('hidden'); if (startedRoute != 0) instance.loadRouteMap(startedRoute); } }); } showCustomerDetails(contactId, orgname) { let instance = this; instance.loadInvoiceDetails(contactId, orgname); instance.loadOrderDetails(contactId); $('#divCusomerDetails').modal(); } loadInvoiceDetails(customerId, orgname) { let instance = this; $(".Bizgaze_Crm_Route_customer_addedrow").each(function () { $(this).remove(); }); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getPendingSalesInvoicesByContactId(Number(customerId), false).then(function (response) { if (response.result.length > 0) { var html = '
    ' + '' + '' + ' ' + '' + '' + '' + '' + '' + '' + '' + '
    Invoice NoInvoice DateTotal AmountBalance Amount
    ' + '' + '' + '' + '' + '' + '' + '
    Last Order NoDate
    ' + '
    ' + '
    ' + '
    '; $(".divRoutesCustomerlist:last").after(html); var data = []; if (response.result.length == 0) { $(".invoiceNotFount").removeClass('hidden'); var html = '' + '' + 'No invoices Found!' + '' + ''; $(".bizgazecrm_customer_invoice_row_" + customerId + ":last").after(html); } for (var i = 0; i < response.result.length; i++) { data = response.result[i]; instance.addInvoiceRow(data, customerId); } $(".invoiceNotFount").addClass('hidden'); } else { $(".divRoutesCustomerlist").html(''); var html = '' + '' + 'No invoices Found!' + '' + ''; $(".divRoutesCustomerlist:last").after(html); } }); } addInvoiceRow(data, customerId) { let _dateTimeHelper = Unibase.Platform.Helpers.DateTimeHelper.Instance(); let _numberHelper = Unibase.Core.Helpers.NumberHelper.Instance(); var html = ''; var balAmount = data.TotalAmount - data.PaidAmount; if (balAmount != 0) { html = '' + '' + data.InvoiceNo + '' + '' + _dateTimeHelper.formatLocalDate1(data.InvoiceDate, '') + '' + '' + _numberHelper.roundNumber(data.TotalAmount, 2) + '' + '' + _numberHelper.roundNumber(balAmount, 2) + '' + ''; } else { html = '' + '' + 'Data Not Found!' + '' + ''; } $(".bizgazecrm_customer_invoice_row_" + customerId + ":last").after(html); } loadOrderDetails(customerId) { let instance = this; $(".bizgazecrm_customer_Order_addedrow").each(function () { $(this).remove(); }); Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getLastOrder(customerId).then(function (response) { if (response.result != null) { instance.addOrderRow(response.result, customerId); } if (response.result.OrderNo == 0) { var html = '' + '' + 'No orders Found!' + '' + ''; $(".bizgazecrm_customer_Order_row_" + customerId + ":last").after(html); } }); } addOrderRow(data, customerId) { let _dateTimeHelper = Unibase.Platform.Helpers.DateTimeHelper.Instance(); var html = ''; if (data.OrderNo != null) { html = '' + '' + data.OrderNo + '' + '' + _dateTimeHelper.formatLocalDate(data.OrderDate) + '' + ''; } else { html = '' + '' + 'Data Not Found!' + '' + ''; } $(".bizgazecrm_customer_Order_row_" + customerId + ":last").after(html); } CheckGpsStatus() { } calcDistance(p1, p2, callback) { var distanceArrary = []; var service = new google.maps.DistanceMatrixService(); service.getDistanceMatrix({ origins: [p1], destinations: [p2], travelMode: google.maps.TravelMode.DRIVING, unitSystem: google.maps.UnitSystem.METRIC, avoidHighways: false, avoidTolls: false }, function (response, status) { if (status == google.maps.DistanceMatrixStatus.OK && response.rows[0].elements[0].status != "ZERO_RESULTS") { var distance = response.rows[0].elements[0].distance.text; var duration = response.rows[0].elements[0].duration.text; var dis = distance.split(' '); var dur = duration.split(' '); distanceArrary.push({ distance: dis[0], duration: dur[0] }); callback(distanceArrary); } }); } loadData() { let instance = this; Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getCustomerLocations().then(function (response) { var markerdata = []; var lat = instance._bizgaze_latd; var lgt = instance._bizgaze_lgtd; var distance = []; var mapOptions = { center: new google.maps.LatLng(lat, lgt), zoom: 6, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("NavigateMap"), mapOptions); var infoWindow = new google.maps.InfoWindow(); var lat_lng = new Array(); var latlngbounds = new google.maps.LatLngBounds(); for (var i = 0; i < response.result.length; i++) { var model = response.result[i]; var p1 = new google.maps.LatLng(lat, lgt); var p2 = new google.maps.LatLng(model.Latitude, model.Longitude); markerdata.push({ lat: model.Latitude, lng: model.Longitude, userName: model.UserName, distance: 0, point1: p1, point2: p2 }); } var markers = markerdata; var lan1 = ""; var lat1 = ""; for (var i = 0; i < markers.length; i++) { var data = markers[i]; var myLatlng = new google.maps.LatLng(data.lat, data.lng); lat_lng.push(myLatlng); var icon = ""; if (i == 0) { icon = "yellow"; } else { icon = "green"; } icon = "http://maps.google.com/mapfiles/ms/icons/" + icon + ".png"; var image = { url: icon, origin: new google.maps.Point(0, 0), anchor: new google.maps.Point(25, 25), scaledSize: new google.maps.Size(50, 50) }; var marker = new google.maps.Marker({ position: myLatlng, map: map, draggable: true, animation: google.maps.Animation.DROP, icon: image, title: data.title }); latlngbounds.extend(myLatlng); if (i == 0) { lan1 = markers[0].lng + "/"; lat1 = markers[0].lat + "+"; } var lan2 = data.lat + "+"; var lat2 = data.lng + "/"; var url = "https://www.google.co.in/maps/dir/" + lat1 + lan1 + lan2 + lat2; (function (marker, data) { google.maps.event.addListener(marker, "click", function (e) { if (data.distance == 0) { instance.calcDistance(data.point1, data.point2, function (dist) { data.distance = dist[0].distance; infoWindow.setContent('' + data.userName + '' + 'Distance: ' + dist[0].distance + '' + '
    Duration: ' + dist[0].duration + '
    ' + '

    Click here

    '); infoWindow.open(map, marker); }); } else { infoWindow.open(map, marker); } }); })(marker, data); map.setCenter(latlngbounds.getCenter()); map.fitBounds(latlngbounds); } }); } loadNavigate(lat, lang) { var map = new google.maps.Map(document.getElementById('map'), { zoom: 4, center: { lat: lat, lng: lang } }); var pathname = (window.location.pathname); window.open(map, '', 'width=800,height=450,resizable=yes,dependent,screenx=80,screeny=80,left=80,top=20,scrollbars=no'); } getAddresss(id, lat, lng) { let instance = this; var url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + lat + "," + lng; var xhr = instance.createCORSRequest('Get', url); if (!xhr) { bootbox.alert('CORS not supported'); return; } xhr.onload = function () { var text = xhr.responseText; var json = JSON.parse(text); $("#pac-inputs").val(json.results[0].formatted_address); document.getElementById(id).innerHTML = json.results[0].formatted_address; }; xhr.onerror = function () { bootbox.alert('Woops, there was an error making the request.'); }; xhr.send(); } createCORSRequest(method, url) { let XDomainRequest; var xhr = new XMLHttpRequest(); if ("withCredentials" in xhr) { xhr.open(method, url, true); } else if (typeof XDomainRequest != "undefined") { xhr = new XDomainRequest(); xhr.open(method, url); } else { xhr = null; } return xhr; } static Instance() { if (this.instance === undefined) { this.instance = new EmployeeRoute(); } return this.instance; } } Components.EmployeeRoute = EmployeeRoute; })(Components = Employees.Components || (Employees.Components = {})); })(Employees = Crm.Employees || (Crm.Employees = {})); })(Crm = Apps.Crm || (Apps.Crm = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));