'use strict'; angular.module('acufuel') .controller('flightTrackingController', ['$scope','$compile', 'uiCalendarConfig', 'flightTrackingService','$interval', function($scope, $compile, uiCalendarConfig, flightTrackingService,$interval) { $scope.flightInfo = {}; var map; var icon = "https://en.spitogatos.gr/visualCaptcha/images/airplane.png"; var json = "http://34.214.139.94:8080/ws/liveTracking"; var arr = []; var infowindow = new google.maps.InfoWindow(); $scope.initialise = function() { var mapProp = { center: new google.maps.LatLng(36.778259, -98.417931), //US center zoom: 4, mapTypeId: google.maps.MapTypeId.ROADMAP }; //getting fligts one time on instant pageload getFlights(); map = new google.maps.Map(document.getElementById("map"), mapProp); console.log('sssssssss', json); var stopflight=$interval(function(){ console.log('====interval start======='); //getting flights on each interval getFlights(); },4000); /*---Stop flights in case state change---*/ $scope.$on("$destroy",function(){ console.log('====live data stop-====='); if (angular.isDefined(stopflight)) { $interval.cancel(stopflight); } }); } /*---Get live flight data function---- */ var getFlights=function(){ $.get(json, function(json1) { $.each(json1, function(key, data) { var exists = false; $.each(arr, function (index, value) { if(value.title === data.id) { var latLng = new google.maps.LatLng(data.latitude, data.longitude, data.altitude); value.link.setPosition(latLng); exists = true; } }); if(!exists) { var latLng = new google.maps.LatLng(data.latitude, data.longitude, data.altitude); var marker = new google.maps.Marker({ position: latLng, map: map, icon: icon, title: data.id }); var details = "Aircraft :" + " " + data.id + "
" + "Path :" + " " + data.departurePoint + " " + "--->" + " " + data.arrivalPoint + "
" + "Altitude :" + " " + data.altitude + " " + "ft" + "
" +"Speed :" + " " + data.speed + " " + "Knots" + "
" + "Departure Time :" + " " + data.departureActualTime + " " + "(Actual)" + "
" + "Arrival Time :" + " " + data.arrivalEstimatedTime + " " + "(Estimated)" + "
"; arr.push({ title: data.id, link: marker, details : details }); bindInfoWindow(marker, map, infowindow, details, data); } }); }); } function bindInfoWindow(marker, map, infowindow, strDescription, data) { google.maps.event.addListener(marker, 'click', function() { $scope.flightInfo = data; //infowindow.setContent(strDescription); //infowindow.open(map, marker); $scope.flightInfo = data; $('#flightid').html($scope.flightInfo.id); $('#depid').html($scope.flightInfo.departurePoint); $('#arrid').html($scope.flightInfo.arrivalPoint); $('#altid').html($scope.flightInfo.altitude); $('#speedid').html($scope.flightInfo.speed); $('#deptimeid').html($scope.flightInfo.departureActualTime); $('#arrtimeid').html($scope.flightInfo.arrivalEstimatedTime); $('.left-panel').animate({width: '300px', padding: '10px'}); }); } $('.close-left-panel').click(function(){ $('.left-panel').animate({width: '0', padding: '0'}); }) google.maps.event.addDomListener(document.getElementById("map"), 'load', $scope.initialise()); }]);