高德地图假如你要给大头针设置title或者subtitle,像这样
let pointAnnotation = MAPointAnnotation()
pointAnnotation.coordinate = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
pointAnnotation.title = address
pointAnnotation.subtitle = address
但是实际上是行不通的
所以要在代理方法里面进行自定义 ,LNPinAnnotationView是我自定义的继承于MAPinAnnotationView的一个类
然后 你可以在这个自定义类上添加相应的label或者其他控件
// 大头针回调
func mapView(_ mapView: MAMapView!, viewFor annotation: MAAnnotation!) -> MAAnnotationView! {
if annotation.isKind(of: MAPointAnnotation.self) {
let pointReuseIndetifier = "pointReuseIndetifier"
var annotationView: LNPinAnnotationView? = mapView.dequeueReusableAnnotationView(withIdentifier: pointReuseIndetifier) as! LNPinAnnotationView?
if annotationView == nil {
annotationView = LNPinAnnotationView(annotation: annotation, reuseIdentifier: pointReuseIndetifier)
}
annotationView?.image = UIImage(named: "MyLocation")
return annotationView!
}
return nil
}
网友评论