我試圖在屏幕加載時自動啓動地圖。在屏幕加載時啓動地圖功能。 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