UITableViewCell的重用 百度地图BMKAnnotationView的重用 通过安卓的ListView来研究

有时间再回来研究

百度地图BMKAnnotationView的重用

百度地图-绘制点标记

//MARK:BMKMapViewDelegate
/**
 根据anntation生成对应的annotationView
 
 @param mapView 地图View
 @param annotation 指定的标注
 @return 生成的标注View
 */
func mapView(_ mapView: BMKMapView!, viewFor annotation: BMKAnnotation!) -> BMKAnnotationView! {
    if annotation.isKind(of: BMKPointAnnotation.self) {
        /**
         根据指定标识查找一个可被复用的标注,用此方法来代替新创建一个标注,返回可被复用的标注
         */
        var annotationView: BMKPinAnnotationView? = mapView.dequeueReusableAnnotationView(withIdentifier: annotationViewIdentifier) as? BMKPinAnnotationView
        if annotationView == nil {
            /**
             初始化并返回一个annotationView
             
             @param annotation 关联的annotation对象
             @param reuseIdentifier 如果要重用view,传入一个字符串,否则设为nil,建议重用view
             @return 初始化成功则返回annotationView,否则返回nil
             */
            annotationView = BMKPinAnnotationView.init(annotation: annotation, reuseIdentifier: annotationViewIdentifier)
            //annotationView显示的图片,默认是大头针
            annotationView?.image = UIImage.init(named: "poi.png")
        }
        return annotationView
    }
    return nil
}
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页