问题
I am developing an application needs to open an Apple Maps session, and pass in latitude and longitude coordinates to get directions to that location from a users current location.
I know this can be done in google maps which I am already doing, but when attempting to open the URL in Apple Maps it just opens the place not the directions from a users current location to their destination.
Here is the URL scheme I have been using:
http://maps.apple.com/?ll=(someLatitude),(someLongitute)
Code:
UIApplication.sharedApplication().openURL(NSURL(string:"http://maps.apple.com/?ll=\(locationLat),\(locationlong)")!)
Any help would be greatly appreciated. Thanks!
回答1:
Try this code, AppleMap will open up with the directions marked from device's current location to the location specified the coordinates.
let coordinate = CLLocationCoordinate2DMake(currentLat, currentLong)
let mapItem = MKMapItem(placemark: MKPlacemark(coordinate: coordinate, addressDictionary:nil))
mapItem.name = “Destination/Target Address or Name”
mapItem.openInMapsWithLaunchOptions([MKLaunchOptionsDirectionsModeKey : MKLaunchOptionsDirectionsModeDriving])
回答2:
try use
NSURL(string:"http://maps.apple.com/?saddr=\(currentLat),\(currentLong)&daddr=\(destinationLat),\(destinationLong)")!
with currentLat currentLong is users current location, and destinationLat destinationLong is destination location.
more parameters (ex: the transport type) look at here
来源:https://stackoverflow.com/questions/38358120/ios-open-apple-maps-with-latitude-and-longitude-directions