import UIKit
import MapKit
class ViewController: UIViewController {
lazy var geoCoder: CLGeocoder = {
return CLGeocoder()
}()
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
geoCoder.geocodeAddressString("上海") { (pls: [CLPlacemark]?, error) -> Void in
let shPlacemark = pls?.first
self.geoCoder.geocodeAddressString("北京") { (pls: [CLPlacemark]?, error) -> Void in
let bjPlacemark = pls?.first
self.beginNav(shPlacemark!, endPlacemark: bjPlacemark!)
}
}
}
func beginNav(_ startPlacemark: CLPlacemark, endPlacemark: CLPlacemark) {
let startP: MKPlacemark = MKPlacemark(placemark: startPlacemark)
let startItem: MKMapItem = MKMapItem(placemark: startP)
let endP: MKPlacemark = MKPlacemark(placemark: endPlacemark)
let endItem: MKMapItem = MKMapItem(placemark: endP)
let mapItems: [MKMapItem] = [startItem, endItem]// 起点和终点
let dic: [String : Any] = [// 导航设置字典
MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving,// 导航模式
MKLaunchOptionsMapTypeKey: MKMapType.standard.rawValue,// 地图样式
MKLaunchOptionsShowsTrafficKey: true// 显示交通
]
MKMapItem.openMaps(with: mapItems, launchOptions: dic)
}
}
swift地图定位(十七)使用系统APP导航
最新推荐文章于 2024-07-09 19:44:33 发布