使用 Mapkit 和 Swift 添加带有行车路线的完整注释视图

Add full blown annotation view with driving directions using Mapkit and Swift

我正在使用以下代码在地图上创建注释图钉。选中后,显示 MKMapItem 的名称,如麦当劳。但是,我希望它显示一个完整的注释,其中包含更多详细信息,包括地址、图片(如果有)和行车路线。我在 Ray Wenderlich 和其他地方看到的教程在介绍自定义图稿、自定义 class 等方面比我需要的更进一步。我只是基本知识和一个行车路线按钮。

如何展开以下内容以显示更多详细信息和行车路线按钮?

mapView.mapType = MKMapType.standard
let location : CLLocationCoordinate2D = self.aRestaurant.placemark.coordinate

let span = MKCoordinateSpanMake(0.05, 0.05)
let region = MKCoordinateRegion(center: location, span: span)
mapView.setRegion(region, animated: true)

let annotation = MKPointAnnotation()
annotation.coordinate = location
annotation.title = self.aRestaurant.placemark.name
mapView.addAnnotation(annotation)

提前感谢您的任何建议。

在您的 MKAnnotationView 中设置 属性

self.detailCalloutAccessoryView = calloutView

calloutView 可以是 UIView 的任何子类,其子视图包括用于某些用户交互的 UIButtons。

calloutView 替换字幕。标题仍然可见。

对于简单的情况,您可以添加

leftCalloutAccessoryView = myButton1
rightCalloutAccessoryView = myButton2

对于显示在中心视图左侧和右侧的按钮。

如果使用MKMarkerAnnotationViews,还可以免费获取地图上markerView下方的标题和副标题,让用户不用打开AnnotationView就能看到标题+副标题。