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)
}
}
ios-导航-跳转至系统app进行导航
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 在每个app中的设置页面都希望能够很方便的让用户开启/关闭消息提醒。方便用户体验。 主要代码 例子 定位服务定位服...
- 在开发中需要用到地图。有两种方法,一种是导入地图 (百度,高德)地图 SDK,一种是使用调起 客户端。 但是需要用...