Repositorio del curso CCOM4030 el semestre B91 del proyecto Trolley

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. //
  2. // ViewController.swift
  3. // Trolley App
  4. //
  5. // Created by Kendrick Morales on 10/21/19.
  6. // Copyright © 2019 Kendrick Morales. All rights reserved.
  7. //
  8. import UIKit
  9. import CoreLocation
  10. import MapKit
  11. import Alamofire
  12. class ViewController: UIViewController, CLLocationManagerDelegate {
  13. var estado = false
  14. let locationManager = CLLocationManager()
  15. var locations: CLLocation!
  16. override func viewDidLoad() {
  17. super.viewDidLoad()
  18. locationManager.requestAlwaysAuthorization()
  19. if CLLocationManager.locationServicesEnabled() {
  20. locationManager.delegate = self
  21. locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
  22. }
  23. // Do any additional setup after loading the view.
  24. }
  25. //funcion para poder extraer latitud y longitud
  26. func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
  27. guard let locValue: CLLocationCoordinate2D = manager.location?.coordinate
  28. else { return }
  29. print("locations = \(locValue.latitude) \(locValue.longitude)")
  30. }
  31. //botton de las tracking
  32. @IBAction func trackingButton(_ sender: UIButton) {
  33. // si el estado esta en falso
  34. if estado != true{
  35. sender.setTitle("Stop", for: .normal) // cambia el texto del boton
  36. estado = true // cambiamos el estado a activado
  37. locationManager.startUpdatingLocation() // activamos el metodo de capturacion de localizacion
  38. }
  39. else{ // si el estado esta en cierto
  40. sender.setTitle("Tracking", for: .normal) // cambiamos el texto del boton
  41. locationManager.stopUpdatingLocation() // paramos el metodo de capturacion de localizacion
  42. locations = locationManager.location
  43. //print("pollo"+"\(latitud.coordinate.latitude)")
  44. let location: [String: Any] = ["latitude": locations.coordinate.latitude,"longitude": locations.coordinate.longitude]
  45. //conect to server and send lat y long
  46. AF.request("http://136.145.231.39/json-receiver.php", method:.post, parameters: location,encoding: JSONEncoding.default).response{ (response) in
  47. print(response)
  48. }
  49. AF.request("http://136.145.231.39/sender2.php").responseJSON { response in
  50. debugPrint("Response: \(response)")
  51. }
  52. estado = false // se cambia estado de nuevo a falso
  53. }
  54. }
  55. }