Repositorio del curso CCOM4030 el semestre B91 del proyecto Trolley

ViewController.swift 28KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439
  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. import SwiftyJSON
  13. class ViewController: UIViewController, CLLocationManagerDelegate {
  14. var estado = false
  15. let locationManager = CLLocationManager()
  16. var locations: CLLocation!
  17. var timer1 = Timer()
  18. var parada = ""
  19. var timer2 = Timer()
  20. @IBOutlet weak var texto: UILabel!
  21. override func viewDidLoad() {
  22. super.viewDidLoad()
  23. locationManager.requestAlwaysAuthorization()
  24. if CLLocationManager.locationServicesEnabled() {
  25. locationManager.delegate = self
  26. locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
  27. }
  28. // Do any additional setup after loading the view.
  29. }
  30. //funcion para poder extraer latitud y longitud
  31. func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
  32. guard let locValue: CLLocationCoordinate2D = manager.location?.coordinate
  33. else { return }
  34. print("locations = \(locValue.latitude) \(locValue.longitude)")
  35. }
  36. @IBOutlet weak var ImageCenter: UIImageView!
  37. @objc func update(){
  38. timer1 = Timer.scheduledTimer(timeInterval: 3.0, target: self, selector: #selector(update), userInfo: nil, repeats: true)
  39. AF.request("http://136.145.231.39/sender_test.php").responseJSON { response in
  40. switch response.result {
  41. case .success(let value):
  42. let json = JSON(value)
  43. // debugPrint(json)
  44. // debugPrint("Response: \(response)")
  45. let parada = json["parada"].string
  46. let tiempo = json["tiempo"]
  47. self.texto.text = "Ultima Actualización: \(tiempo) "
  48. if parada == "biblio_Bliblio" {
  49. self.ImageCenter.image = UIImage(named: "biblio_Biblio")
  50. }
  51. else if parada == "biblio_Centro" {
  52. self.ImageCenter.image = UIImage(named: "biblio_Centro")
  53. }
  54. else if parada == "biblio_Educacion" {
  55. self.ImageCenter.image = UIImage(named: "biblio_Educacion")
  56. }
  57. else if parada == "biblio_Facundo" {
  58. self.ImageCenter.image = UIImage(named: "biblio_Facundo")
  59. }
  60. else if parada == "biblio_MultiP" {
  61. self.ImageCenter.image = UIImage(named: "biblio_MultiP")
  62. }
  63. else if parada == "biblio_Museo" {
  64. self.ImageCenter.image = UIImage(named: "biblio_Museo")
  65. }
  66. else if parada == "biblio_Nat1" {
  67. self.ImageCenter.image = UIImage(named: "biblio_Nat1")
  68. }
  69. else if parada == "biblio_natu2" {
  70. self.ImageCenter.image = UIImage(named: "biblio_Nat2")
  71. }
  72. else if parada == "centro_Biblio" {
  73. self.ImageCenter.image = UIImage(named: "centro_Biblio")
  74. }
  75. else if parada == "centro_Centro" {
  76. self.ImageCenter.image = UIImage(named: "centro_Biblio")
  77. }
  78. else if parada == "centro_Centro" {
  79. self.ImageCenter.image = UIImage(named: "centro_Biblio")
  80. }
  81. else if parada == "centro_Educacion" {
  82. self.ImageCenter.image = UIImage(named: "centro_Educacion")
  83. }
  84. else if parada == "centro_FacundoB" {
  85. self.ImageCenter.image = UIImage(named: "centro_FacundoB")
  86. }
  87. else if parada == "centro_MultiP" {
  88. self.ImageCenter.image = UIImage(named: "centro_MultiP")
  89. }
  90. else if parada == "centro_Museo" {
  91. self.ImageCenter.image = UIImage(named: "centro_Museo")
  92. }
  93. else if parada == "centro_Nat1" {
  94. self.ImageCenter.image = UIImage(named: "centro_Nat1")
  95. }
  96. else if parada == "centro_natu2" {
  97. self.ImageCenter.image = UIImage(named: "centro_Nat2")
  98. }
  99. else if parada == "complejo_Biblio" {
  100. self.ImageCenter.image = UIImage(named: "complejo_Biblio")
  101. }
  102. else if parada == "complejo_Centro" {
  103. self.ImageCenter.image = UIImage(named: "complejo_Centro")
  104. }
  105. else if parada == "complejo_Educacion" {
  106. self.ImageCenter.image = UIImage(named: "complejo_Educacion")
  107. }
  108. else if parada == "complejo_FacundaB" {
  109. self.ImageCenter.image = UIImage(named: "complejo_FacundaB")
  110. }
  111. else if parada == "complejo_MultiP" {
  112. self.ImageCenter.image = UIImage(named: "complejo_MultiP")
  113. }
  114. else if parada == "complejo_Museo" {
  115. self.ImageCenter.image = UIImage(named: "complejo_Museo")
  116. }
  117. else if parada == "complejo_Nat1" {
  118. self.ImageCenter.image = UIImage(named: "complejo_Nat1")
  119. }
  120. else if parada == "complejo_natu2" {
  121. self.ImageCenter.image = UIImage(named: "complejo_Nat2")
  122. }
  123. else if parada == "generales_Biblio" {
  124. self.ImageCenter.image = UIImage(named: "generales_Biblio")
  125. }
  126. else if parada == "generales_Centro" {
  127. self.ImageCenter.image = UIImage(named: "generales_Centro")
  128. }
  129. else if parada == "generales_Educacion" {
  130. self.ImageCenter.image = UIImage(named: "generales_Educacion")
  131. }
  132. else if parada == "generales_FacundaB" {
  133. self.ImageCenter.image = UIImage(named: "generales_FacundaB")
  134. }
  135. else if parada == "generales_MultiP" {
  136. self.ImageCenter.image = UIImage(named: "generales_MultiP")
  137. }
  138. else if parada == "generales_Museo" {
  139. self.ImageCenter.image = UIImage(named: "generales_Museo")
  140. }
  141. else if parada == "generales_Nat1" {
  142. self.ImageCenter.image = UIImage(named: "generales_Nat1")
  143. }
  144. else if parada == "generales_natu2" {
  145. self.ImageCenter.image = UIImage(named: "generales_Nat2")
  146. }
  147. else if parada == "leyes_Centro" {
  148. self.ImageCenter.image = UIImage(named: "leyes_Centro")
  149. }
  150. else if parada == "leyes_Educacion" {
  151. self.ImageCenter.image = UIImage(named: "leyes_Educacion")
  152. }
  153. else if parada == "leyes_FacundaB" {
  154. self.ImageCenter.image = UIImage(named: "leyes_FacundaB")
  155. }
  156. else if parada == "leyes_MultiP" {
  157. self.ImageCenter.image = UIImage(named: "leyes_MultiP")
  158. }
  159. else if parada == "leyes_Museo" {
  160. self.ImageCenter.image = UIImage(named: "leyes_Museo")
  161. }
  162. else if parada == "leyes_Nat1" {
  163. self.ImageCenter.image = UIImage(named: "leyes_Nat1")
  164. }
  165. else if parada == "leyes_natu2" {
  166. self.ImageCenter.image = UIImage(named: "leyes_Nat2")
  167. }
  168. else if parada == "merendero_Biblio" {
  169. self.ImageCenter.image = UIImage(named: "merendero_Biblio")
  170. }
  171. else if parada == "merendero_Centro" {
  172. self.ImageCenter.image = UIImage(named: "merendero_Centro")
  173. }
  174. else if parada == "merendero_Educacion" {
  175. self.ImageCenter.image = UIImage(named: "merendero_Educacion")
  176. }
  177. else if parada == "merendero_FacundaB" {
  178. self.ImageCenter.image = UIImage(named: "merendero_FacundaB")
  179. }
  180. else if parada == "merendero_MultiP" {
  181. self.ImageCenter.image = UIImage(named: "merendero_MultiP")
  182. }
  183. else if parada == "merendero_Museo" {
  184. self.ImageCenter.image = UIImage(named: "merendero_Museo")
  185. }
  186. else if parada == "merendero_Nat1" {
  187. self.ImageCenter.image = UIImage(named: "merendero_Nat1")
  188. }
  189. else if parada == "merendero_natu2" {
  190. self.ImageCenter.image = UIImage(named: "merendero_Nat2")
  191. }
  192. else if parada == "natu1_Biblio" {
  193. self.ImageCenter.image = UIImage(named: "nat1_Biblio")
  194. }
  195. else if parada == "natu1_Centro" {
  196. self.ImageCenter.image = UIImage(named: "nat1_Centro")
  197. }
  198. else if parada == "natu1_Educacion" {
  199. self.ImageCenter.image = UIImage(named: "nat1_Educacion")
  200. }
  201. else if parada == "natu1_FacundaB" {
  202. self.ImageCenter.image = UIImage(named: "nat1_FacundaB")
  203. }
  204. else if parada == "natu1_MultiP" {
  205. self.ImageCenter.image = UIImage(named: "nat1_MultiP")
  206. }
  207. else if parada == "natu1_Museo" {
  208. self.ImageCenter.image = UIImage(named: "nat1_Museo")
  209. }
  210. else if parada == "natu1_Nat1" {
  211. self.ImageCenter.image = UIImage(named: "nat1_Nat1")
  212. }
  213. else if parada == "natu1_Natu2" {
  214. self.ImageCenter.image = UIImage(named: "nat1_Nat2")
  215. }
  216. else if parada == "natu2_Biblio" {
  217. self.ImageCenter.image = UIImage(named: "nat2_Biblio")
  218. }
  219. else if parada == "natu2_Centro" {
  220. self.ImageCenter.image = UIImage(named: "nat2_Centro")
  221. }
  222. else if parada == "natu2_Educacion" {
  223. self.ImageCenter.image = UIImage(named: "nat2_Educacion")
  224. }
  225. else if parada == "natu2_FacundaB" {
  226. self.ImageCenter.image = UIImage(named: "nat2_FacundaB")
  227. }
  228. else if parada == "natu2_MultiP" {
  229. self.ImageCenter.image = UIImage(named: "nat2_MultiP")
  230. }
  231. else if parada == "natu2_Museo" {
  232. self.ImageCenter.image = UIImage(named: "nat2_Museo")
  233. }
  234. else if parada == "natu2_Nat1" {
  235. self.ImageCenter.image = UIImage(named: "nat2_Nat1")
  236. }
  237. else if parada == "natu2_Natu2" {
  238. self.ImageCenter.image = UIImage(named: "nat2_Nat2")
  239. }
  240. else if parada == "rotc_Ent_Biblio" {
  241. self.ImageCenter.image = UIImage(named: "rotcEnt_Biblio")
  242. }
  243. else if parada == "rotc_Ent_Centro" {
  244. self.ImageCenter.image = UIImage(named: "rotcEnt_Centro")
  245. }
  246. else if parada == "rotc_Ent_Educacion" {
  247. self.ImageCenter.image = UIImage(named: "rotcEnt_Educacion")
  248. }
  249. else if parada == "rotc_Ent_FacundaB" {
  250. self.ImageCenter.image = UIImage(named: "rotcEnt_FacundaB")
  251. }
  252. else if parada == "rotc_Ent_MultiP" {
  253. self.ImageCenter.image = UIImage(named: "rotcEnt_MultiP")
  254. }
  255. else if parada == "rotc_Ent_Museo" {
  256. self.ImageCenter.image = UIImage(named: "rotcEnt_Museo")
  257. }
  258. else if parada == "rotc_Ent_Nat1" {
  259. self.ImageCenter.image = UIImage(named: "rotcEnt_Nat1")
  260. }
  261. else if parada == "rotc_Ent_natu2" {
  262. self.ImageCenter.image = UIImage(named: "rotcEnt_Nat2")
  263. }
  264. else if parada == "rotcEntR_Biblio" {
  265. self.ImageCenter.image = UIImage(named: "rotcEntR_Biblio")
  266. }
  267. else if parada == "rotcEntR_Centro" {
  268. self.ImageCenter.image = UIImage(named: "rotcEntR_Centro")
  269. }
  270. else if parada == "rotcEntR_Educacion" {
  271. self.ImageCenter.image = UIImage(named: "rotcEntR_Educacion")
  272. }
  273. else if parada == "rotcEntR_FacundaB" {
  274. self.ImageCenter.image = UIImage(named: "rotcEntR_FacundaB")
  275. }
  276. else if parada == "rotcEntR_MultiP" {
  277. self.ImageCenter.image = UIImage(named: "rotcEntR_MultiP")
  278. }
  279. else if parada == "rotcEntR_Museo" {
  280. self.ImageCenter.image = UIImage(named: "rotcEntR_Museo")
  281. }
  282. else if parada == "rotcEntR_Nat1" {
  283. self.ImageCenter.image = UIImage(named: "rotcEntR_Nat1")
  284. }
  285. else if parada == "rotcEntR_natu2" {
  286. self.ImageCenter.image = UIImage(named: "rotcEntR_natu2")
  287. }
  288. else if parada == "rotc_Est_Biblio" {
  289. self.ImageCenter.image = UIImage(named: "rotcEst_Biblio")
  290. }
  291. else if parada == "rotc_Est_Centro" {
  292. self.ImageCenter.image = UIImage(named: "rotcEst_Centro")
  293. }
  294. else if parada == "rotcEst_Educacion" {
  295. self.ImageCenter.image = UIImage(named: "rotcEst_Educacion")
  296. }
  297. else if parada == "rotcEst_FacundaB" {
  298. self.ImageCenter.image = UIImage(named: "rotcEst_FacundaB")
  299. }
  300. else if parada == "rotc_Est_MultiP" {
  301. self.ImageCenter.image = UIImage(named: "rotcEst_MultiP")
  302. }
  303. else if parada == "rotc_Est_Museo" {
  304. self.ImageCenter.image = UIImage(named: "rotcEst_Museo")
  305. }
  306. else if parada == "rotc_Est_Nat1" {
  307. self.ImageCenter.image = UIImage(named: "rotcEst_Nat1")
  308. }
  309. else if parada == "rotc_Est_natu2" {
  310. self.ImageCenter.image = UIImage(named: "rotcEst_Nat2")
  311. }
  312. else if parada == "complejo_Complejo" {
  313. self.ImageCenter.image = UIImage(named: "complejo._Complejo")
  314. }
  315. else if parada == "generales_Generales" {
  316. self.ImageCenter.image = UIImage(named: "generales_Generales")
  317. }
  318. else if parada == "leyes_Leyes" {
  319. self.ImageCenter.image = UIImage(named: "leyes_Leyes")
  320. }
  321. else if parada == "merendero_Merendero" {
  322. self.ImageCenter.image = UIImage(named: "merendero_Merendero")
  323. }
  324. else if parada == "rotcEnt_RotcEnt" {
  325. self.ImageCenter.image = UIImage(named: "rotcEnt_RotcEnt")
  326. }
  327. else if parada == "complejo_Complejo" {
  328. self.ImageCenter.image = UIImage(named: "complejo._Complejo")
  329. }
  330. else if parada == "rotc_Est_Rotc_Est" {
  331. self.ImageCenter.image = UIImage(named: "rotcEst_RotcEst")
  332. }
  333. else if parada == "educacion_Educacion" {
  334. self.ImageCenter.image = UIImage(named: "educacion")
  335. }
  336. else if parada == "facundaB_FacundaB" {
  337. self.ImageCenter.image = UIImage(named: "facundaB")
  338. }
  339. else if parada == "multiP_MultiP" {
  340. self.ImageCenter.image = UIImage(named: "multiP")
  341. }
  342. else if parada == "museo_Museo" {
  343. self.ImageCenter.image = UIImage(named: "museo")
  344. }
  345. else {
  346. self.ImageCenter.image = UIImage(named: "map")
  347. }
  348. debugPrint(parada)
  349. // var parada = parada
  350. // print(parada)
  351. case .failure(let error):
  352. print(error)
  353. }
  354. switch response.result {
  355. case.success(let value1):
  356. let json = JSON(value1)
  357. if let tiempo = json["tiempo"].string{
  358. debugPrint(tiempo)
  359. }
  360. case.failure(let error):
  361. print(error)
  362. }
  363. }
  364. // print("Parada: \()")
  365. //parada = "bilbio_Biblio"
  366. //
  367. //cambiar imagen del mapa, según trolley cambie de parada
  368. }
  369. func sender(){
  370. locationManager.startUpdatingLocation()
  371. locationManager.stopUpdatingLocation() // paramos el metodo de capturacion de localizacion
  372. locations = locationManager.location
  373. let location: [String: Any] = ["latitude": locations.coordinate.latitude, "longitude": locations.coordinate.longitude]
  374. //conect to server and send lat y long
  375. AF.request("http://136.145.231.39/json-receiver.php", method:.post, parameters: location, encoding: JSONEncoding.default).response{ (response) in print(response)
  376. }
  377. }
  378. //botton de las tracking
  379. @IBAction func trackingButton(_ sender: UIButton) {
  380. // si el estado esta en falso
  381. if estado != true{
  382. sender.setTitle("Stop", for: .normal) // cambia el texto del boton
  383. estado = true // cambiamos el estado a activado
  384. locationManager.startUpdatingLocation()
  385. timer2 = Timer.scheduledTimer(timeInterval: 3.0, target: self, selector: #selector(update), userInfo: nil, repeats: true)// activamos el metodo de capturacion de localizacion
  386. }
  387. else{ // si el estado esta en cierto
  388. sender.setTitle("Track", for: .normal) // cambiamos el texto del boton
  389. locationManager.stopUpdatingLocation() // paramos el metodo de capturacion de localizacion
  390. locations = locationManager.location
  391. timer2.invalidate()
  392. timer2 = Timer.scheduledTimer(timeInterval: 5.0, target: self, selector: #selector(update), userInfo: nil, repeats: true)// activamos el metodo de capturacion de localizacion
  393. estado = false// se cambia estado de nuevo a falso
  394. }
  395. }
  396. //conexión con la foto del mapa
  397. // @IBOutlet weak var ImageCenter: UIImageView!
  398. }