我正在尝试自定义地图上的注释,而不是引脚我希望注释看起来像当前位置指示器。我该怎么做?任何建议都会很棒!
答案 0 :(得分:1)
通常,您可以使用扩展MKPointAnnotation的自定义注释对象。但是,如果您只需要更改引脚图像,则可以避免子类化,只需实现此方法
func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {
let identifier = "MyPin"
if annotation.isKindOfClass(MKUserLocation) {
return nil
}
var annotationView = mapView.dequeueReusableAnnotationViewWithIdentifier(identifier)
if let annotationView = annotationView {
annotationView.annotation = annotation
} else {
annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: identifier)
annotationView.image = UIImage(named: "myPinImage")
}
return annotationView
}
因此,您可以找到正确的图像并用它替换引脚。 但是,如果您想跟踪默认currentLocation图像的可能更改,则可以重用默认视图
let annotationView = mapView.viewForAnnotation(mapView.userLocation());