Manos Chorianopoulos

fix webview open maps

...@@ -469,6 +469,26 @@ var timer2: DispatchSourceTimer? ...@@ -469,6 +469,26 @@ var timer2: DispatchSourceTimer?
469 decisionHandler(.cancel) 469 decisionHandler(.cancel)
470 return 470 return
471 } 471 }
472 +
473 + // Example Deeplink: maps://?q=37.96951649191105,23.72242553856438
474 + if redirectedUrl.absoluteString.contains("maps:") {
475 + // Extract the latitude and longitude from the query string
476 + if let query = redirectedUrl.query {
477 + let coordinates = query.replacingOccurrences(of: "q=", with: "").split(separator: ",")
478 + if coordinates.count == 2,
479 + let lat = coordinates.first,
480 + let lon = coordinates.last {
481 +
482 + // Create a new Apple Maps URL
483 + if let appleMapsUrl = URL(string: "http://maps.apple.com/?daddr=\(lat),\(lon)") {
484 + // Open Apple Maps with the generated URL
485 + UIApplication.shared.open(appleMapsUrl, options: [:], completionHandler: nil)
486 + decisionHandler(.cancel)
487 + return
488 + }
489 + }
490 + }
491 + }
472 } 492 }
473 493
474 // } 494 // }
......