iOS - Open Apple Maps with latitude and longitude

2019-04-20 03:07发布

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!

2条回答
2楼-- · 2019-04-20 03:24

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

查看更多
放我归山
3楼-- · 2019-04-20 03:39

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])
查看更多
登录 后发表回答