Im trying to open apple maps directly from app with this code
let url = "http://maps.apple.com/maps?saddr=&daddr=\(latString),\(longString)"
UIApplication.shared.open(URL(string: "\(url)")!,options: [:],
completionHandler: nil)
But it opens 'SAFARI' first, then moves to apple maps.The problem is that, from maps i cant go back to my app. The top back button only goes back to safari.
Is there a way to open apple maps directly? Or do i have to use google maps for that?
Edit : The answer is correct but here is the better one
let mapsURL = URL(string: "maps://?saddr=\(latStringS),\(longStringS)&daddr=\(latStringD),\(longStringD)")!
this will show direction to destination from starting location
You should pass app's deeplink as the URL to open them directly. For Maps
this is the URL you are looking for:
let mapsURL = URL(string: "maps://q?\(latString),\(longString)")!
Also, there is a Specific function for Maps and that is:
class func openMaps(with mapItems: [MKMapItem], launchOptions: [String : Any]? = nil) -> Bool
You can find out more about this in the documentation
Also, You can use my framework for this that. supports AppleMaps, GoogleMaps, Waze and Maps.Me.