我试图在屏幕加载时自动启动地图。在屏幕加载时启动地图功能。 iOS,Swift
可以这样做吗?在视图确实出现时启动此功能。
func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) {
if let anno = view.annotation {
let place = MKPlacemark(coordinate: anno.coordinate)
let destination = MKMapItem(placemark: place)
destination.name = "Vehicle Sighting"
let regionDistance: CLLocationDistance = 1000
let regionSpan = MKCoordinateRegionMakeWithDistance(anno.coordinate, regionDistance, regionDistance)
let options = [MKLaunchOptionsMapCenterKey: NSValue (mkCoordinate: regionSpan.center), MKLaunchOptionsMapSpanKey: NSValue(mkCoordinateSpan: regionSpan.span), MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving] as [String : Any]
MKMapItem.openMaps(with: [destination], launchOptions: options)
}
}
您不会启动*该功能*。你可以创建一个地图项并打开它。在'viewDidAppear'中执行会很奇怪,因为用户体验会出现一个新的视图,然后地图应用程序打开。从前一个视图控制器打开地图会更明智。 – Paulw11