diff --git a/Guibe/Base.lproj/Main.storyboard b/Guibe/Base.lproj/Main.storyboard index a9dba9f..ffc6a37 100644 --- a/Guibe/Base.lproj/Main.storyboard +++ b/Guibe/Base.lproj/Main.storyboard @@ -329,7 +329,7 @@ - + @@ -348,7 +348,7 @@ - + diff --git a/Guibe/MainViewController.swift b/Guibe/MainViewController.swift index 9f1befe..582198b 100644 --- a/Guibe/MainViewController.swift +++ b/Guibe/MainViewController.swift @@ -12,7 +12,12 @@ import MapKit import CoreLocation import AVFoundation -class MainViewController: UIViewController, AVAudioPlayerDelegate { + + + + +class MainViewController: UIViewController, AVAudioPlayerDelegate, myProtocol { + // DELETE let defaults = UserDefaults.standard @@ -35,6 +40,7 @@ class MainViewController: UIViewController, AVAudioPlayerDelegate { var startedNavigation: Bool = false + var toLocationId: Int = -1 // OUTLETS--------------OUTLETS @IBOutlet weak var menuWindowView: UIView! @@ -48,8 +54,6 @@ class MainViewController: UIViewController, AVAudioPlayerDelegate { @IBOutlet weak var micBtn: UIButton! // --------------------- @IBOutlet weak var mapView: MKMapView! - @IBOutlet weak var tableView: UITableView! - // OUTLETS--------------OUTLETS // ACTIONS--------------ACTIONS @@ -138,6 +142,10 @@ class MainViewController: UIViewController, AVAudioPlayerDelegate { self.stepCounter += 1 } } + + func startNavigation(toPlace: MKMapItem){ + getDirections(to: toPlace) + } } //END OF CLASS @@ -261,18 +269,23 @@ extension MainViewController: UISearchBarDelegate { let localSearch = MKLocalSearch(request: localSearchRequest) localSearch.start { (response, _) in guard let response = response else { return } - let resultsViewController = self.storyboard?.instantiateViewController(withIdentifier: "resultsScreen") as! TableViewController - resultsViewController.searchResults = response.mapItems - resultsViewController.modalTransitionStyle = .coverVertical - self.present(resultsViewController, animated: true, completion: nil) + + + + let resultsViewController = self.storyboard?.instantiateViewController(withIdentifier: "resultsScreen") as! TableViewController + resultsViewController.searchResults = response.mapItems + resultsViewController.modalTransitionStyle = .coverVertical + resultsViewController.myProtocol = self + self.present(resultsViewController, animated: true, completion: nil) + + + // guard let firstMapItem = response.mapItems.first else { return } // self.getDirections(to: firstMapItem) } } } - - extension MainViewController: MKMapViewDelegate { func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer { if overlay is MKPolyline { diff --git a/Guibe/TableViewController.swift b/Guibe/TableViewController.swift index c62dbda..4af6eca 100644 --- a/Guibe/TableViewController.swift +++ b/Guibe/TableViewController.swift @@ -9,15 +9,24 @@ import UIKit import MapKit +protocol myProtocol { + func startNavigation(toPlace: MKMapItem) +} + + + class TableViewController: UIViewController { var searchResults: [MKMapItem]? - + var myProtocol: myProtocol? + @IBOutlet weak var tableView: UITableView! override func viewDidLoad() { super.viewDidLoad() + + // let testData = appDelegate.navigationResults } @@ -60,6 +69,8 @@ extension TableViewController: UITableViewDataSource, UITableViewDelegate { extension TableViewController: tableViewProtocol { func onClickCell(index: Int) { - print("Going to navigate to option \(index)") + debugPrint("Going to navigate to option \(index)") + self.myProtocol?.startNavigation(toPlace: (searchResults?[index])!) + self.dismiss(animated: true, completion: nil) } }