ios-导航-跳转至系统app进行导航

import UIKit
import MapKit

class ViewController: UIViewController {

     var geoCoder = CLGeocoder()

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        geoCoder.geocodeAddressString("北京") { (startCLPLS : [CLPlacemark]?,error : Error?) in
            self.geoCoder.geocodeAddressString("珠海") { (endCLPLS : [CLPlacemark]?,error : Error?) in
                self.beginNav(startCLPL: (startCLPLS?.first)!, endCLPL: (endCLPLS?.first)!)
            }
        }
    }

    
    /// 开始导航
    ///
    /// - Parameters:
    ///   - startCLPL: 开始地址
    ///   - endCLPL: 结束地址
    func beginNav(startCLPL : CLPlacemark,endCLPL : CLPlacemark) {
        
        let startItem = MKMapItem(placemark: MKPlacemark(placemark: startCLPL))
        let endItem = MKMapItem(placemark: MKPlacemark(placemark: endCLPL))
        
        let mapItems : [MKMapItem] = [startItem,endItem]
        
        let dict : [String : AnyObject] = [
            MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving as AnyObject,
            MKLaunchOptionsMapTypeKey:MKMapType.standard.rawValue as AnyObject,MKLaunchOptionsShowsTrafficKey:true as AnyObject]
        
        
        MKMapItem.openMaps(with: mapItems, launchOptions: dict)
        
    }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容