最近,我在我的应用程序中实现了viewForAnnotation方法,以发挥注释特征(图像,颜色等)的作用。唯一的问题是,尽管该功能在我的代码中,但定位服务的作用却很奇怪。代替蓝色的位置标记“脉动”并且相对较小,它会遮盖整个县的蓝色,停止脉动,并且相当不稳定。
这是我正在使用的代码:
func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! {
if annotation is MKUserLocation {
return nil
}
let reuseId = "pin"
var pinView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId) as? MKPinAnnotationView
if pinView == nil {
pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
pinView!.canShowCallout = true
pinView!.animatesDrop = false
pinView?.pinColor = .Green
}
else {
pinView!.annotation = annotation
}
return pinView
}
此功能中是否有可能会干扰位置服务表示的内容?谢谢。
最佳答案
这行不通:
if annotation is MKUserLocation {
return nil
}
而是使用:
if annotation.isMemberOfClass(MKUserLocation.self) {
return nil
}
关于ios - 为什么viewForAnnotation方法会弄乱用户的位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32313396/