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

时间:2018-10-22 17:01:17

标签: ios swift mapkit mkannotationview

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

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

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)

预先感谢您的任何建议。

1 个答案:

答案 0 :(得分:1)

在您的MKAnnotationView设置属性中

self.detailCalloutAccessoryView = calloutView

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

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

在简单情况下,您可以添加

leftCalloutAccessoryView = myButton1
rightCalloutAccessoryView = myButton2

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

如果您使用MKMarkerAnnotationView,还可以在地图上的markerView下方免费获得标题和副标题,以便用户无需打开AnnotationView即可看到标题和副标题。