public async Task <SearchResult> Search(TrackingSearcher searcher)
        {
            try
            {
                var result = await _trackingRepository.Search(searcher);

                for (int i = 0; i < result.Path.Length; i++)
                {
                    result.Path[i].Address = await ReverseGeocode(result.Path[i].Lat, result.Path[i].Long);
                }
                return(result);
            }
            catch (Exception ex)
            {
                Logger.LogError(ex, $"Error accured while searching tracking data for VehicleID:{searcher.VehicleID} from {(new DateTime(searcher.StartTime)).ToLongDateString()} to {(new DateTime(searcher.EndTime)).ToLongDateString()}");
                throw;
            }
        }