From 318f4587f94de0e9638e9d23ffe6d48624f91295 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Mart=C3=ADn=20Garc=C3=ADa=20Del=20Angel?= Date: Sun, 25 Nov 2018 11:52:45 -0600 Subject: [PATCH] Added map logic to iOS, moving to Apple Watch --- .../UserInterfaceState.xcuserstate | Bin 70561 -> 73218 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 12 +-- .../Controller/DetailViewController.swift | 80 +++++++++++++++++- Musgravite/Info.plist | 8 +- Musgravite/View/Base.lproj/Main.storyboard | 24 ++++-- 5 files changed, 108 insertions(+), 16 deletions(-) diff --git a/Musgravite.xcworkspace/xcuserdata/Luna.xcuserdatad/UserInterfaceState.xcuserstate b/Musgravite.xcworkspace/xcuserdata/Luna.xcuserdatad/UserInterfaceState.xcuserstate index c53581d42763d4d342c692466a7ebfdf1e45acf6..7b9129d2f1396dd48effcd1f5b690967d9316044 100644 GIT binary patch delta 31692 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 @@ -42,11 +42,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Musgravite/Controller/DetailViewController.swift" - timestampString = "564818490.102037" + timestampString = "564861121.220378" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "134" - endingLineNumber = "134" + startingLineNumber = "206" + endingLineNumber = "206" landmarkName = "getData(_:_:_:)" landmarkType = "7"> diff --git a/Musgravite/Controller/DetailViewController.swift b/Musgravite/Controller/DetailViewController.swift index 58a62e2..63a4508 100644 --- a/Musgravite/Controller/DetailViewController.swift +++ b/Musgravite/Controller/DetailViewController.swift @@ -13,15 +13,14 @@ import SVProgressHUD import Alamofire import SwiftMessages import WatchConnectivity +import MapKit -class DetailViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, WCSessionDelegate{ +class DetailViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, WCSessionDelegate, MKMapViewDelegate, CLLocationManagerDelegate { + /* WCSessionDelegate */ func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?) {} - func sessionDidBecomeInactive(_ session: WCSession) {} - func sessionDidDeactivate(_ session: WCSession) {} - //Laboratory information var labInformation:JSON? var selectedElementURL:URL? @@ -36,11 +35,13 @@ class DetailViewController: UIViewController, UICollectionViewDelegate, UICollec public let selection = UISelectionFeedbackGenerator() //Static Elements + @IBOutlet weak var mapOutlet: MKMapView! @IBOutlet weak var locationOutlet: UILabel! @IBOutlet weak var descriptionOutlet: UITextView! @IBOutlet weak var bigTitleOutlet: UITextView! @IBOutlet weak var bigImageOutlet: UIImageView! @IBOutlet weak var gradientCategory: UIImageView! + //CollectionViews @IBOutlet weak var imagesCollectionView: UICollectionView! @IBOutlet weak var videoCollectionView: UICollectionView! @@ -48,6 +49,9 @@ class DetailViewController: UIViewController, UICollectionViewDelegate, UICollec @IBOutlet weak var button360: UIButton! @IBOutlet weak var button3D: UIButton! + // CLLocationManager + let locationManager = CLLocationManager() + @IBAction func SwapMode(_ sender: Any) { if(button3D.isHidden == true){ button3D.isHidden = false @@ -68,7 +72,73 @@ class DetailViewController: UIViewController, UICollectionViewDelegate, UICollec wcSession.delegate = self wcSession.activate() button3D.isHidden = true + /* MapKit Delegate */ + mapOutlet.delegate = self + mapOutlet.showsPointsOfInterest = true + mapOutlet.showsScale = true + mapOutlet.showsUserLocation = true + displayMapDirections() + } + + func displayMapDirections(){ + /* Request Location */ + locationManager.requestAlwaysAuthorization() + locationManager.requestWhenInUseAuthorization() + + if CLLocationManager.locationServicesEnabled() { + locationManager.delegate = self + locationManager.desiredAccuracy = kCLLocationAccuracyBest + locationManager.startUpdatingLocation() + } + + let sourceCoordinates = locationManager.location?.coordinate + let destinationCoordinates = CLLocationCoordinate2D(latitude: 19.2833333, longitude: -99.1352777777779) + let sourcePlacemark = MKPlacemark(coordinate: sourceCoordinates!) + let destinationPlacemark = MKPlacemark(coordinate: destinationCoordinates) + let sourceItem = MKMapItem(placemark: sourcePlacemark) + let destinationItem = MKMapItem(placemark: destinationPlacemark) + let directionRequest = MKDirections.Request() + directionRequest.source = sourceItem + directionRequest.destination = destinationItem + directionRequest.transportType = .walking + let directions = MKDirections(request: directionRequest) + directions.calculate(completionHandler: {response, error in + guard let response = response else { + if let error = error { + print("omg something went wrong") + } + return + } + + let route = response.routes[0] + self.mapOutlet.addOverlay(route.polyline, level: .aboveRoads) + let rekt = route.polyline.boundingMapRect + self.mapOutlet.setRegion(MKCoordinateRegion(rekt), animated: true) + }) + } + + func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer { + let renderer = MKPolylineRenderer(overlay: overlay) + renderer.strokeColor = UIColor.blue + renderer.lineWidth = 5.0 + return renderer + } + + @IBAction func sendToAppleMaps(_ sender: Any) { + let sourceCoordinates = locationManager.location?.coordinate + let destinationCoordinates = CLLocationCoordinate2D(latitude: 19.2833333, longitude: -99.1352777777779) + let directionsURL = "http://maps.apple.com/?saddr=\(sourceCoordinates?.latitude ?? 0),\(sourceCoordinates?.longitude ?? 0)&daddr=\(destinationCoordinates.latitude),\(destinationCoordinates.longitude)" + guard let url = URL(string: directionsURL) else { + return + } + if #available(iOS 10.0, *) { + UIApplication.shared.open(url, options: [:], completionHandler: nil) + } else { + UIApplication.shared.openURL(url) + } } + + @IBAction func sendToWatch(_ sender: Any) { sendLabInformation(labInformation!) } @@ -123,6 +193,8 @@ class DetailViewController: UIViewController, UICollectionViewDelegate, UICollec bigTitleOutlet.text = labInformation!["nombre"].stringValue /* To be changed once this information is available */ bigImageOutlet.sd_setImage(with: URL(string: labInformation!["PosterImage"].stringValue),placeholderImage: UIImage(named: "grad0")) + /* Create map value */ + } /* Downloads the required data from an URL */ diff --git a/Musgravite/Info.plist b/Musgravite/Info.plist index c398577..2c887b9 100644 --- a/Musgravite/Info.plist +++ b/Musgravite/Info.plist @@ -2,6 +2,12 @@ + NSLocationUsageDescription + $(PRODUCT_NAME) desea saber tu localización + NSLocationWhenInUseUsageDescription + $(PRODUCT_NAME) desea saber tu localización + NSLocationAlwaysUsageDescription + $(PRODUCT_NAME) desea saber tu localización CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleExecutable @@ -30,7 +36,7 @@ NSCameraUsageDescription $(PRODUCT_NAME) desea usar tu cámara para mostrar mundos virtuales. NSLocationAlwaysAndWhenInUseUsageDescription - $(PRODUCT_NAME) desea saber tu localización + $(PRODUCT_NAME) desea saber tu localización incluso cuando la aplicacion no este en uso. NSPhotoLibraryAddUsageDescription $(PRODUCT_NAME) desea acceder a tu carrete para escoger una imagen UILaunchStoryboardName diff --git a/Musgravite/View/Base.lproj/Main.storyboard b/Musgravite/View/Base.lproj/Main.storyboard index 59f762e..0fffde4 100644 --- a/Musgravite/View/Base.lproj/Main.storyboard +++ b/Musgravite/View/Base.lproj/Main.storyboard @@ -492,14 +492,14 @@ - + - + - + @@ -798,6 +798,9 @@ + + + @@ -818,10 +821,20 @@ + - + @@ -843,7 +856,7 @@ - + @@ -852,6 +865,7 @@ +