作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
最近我在我的应用程序中实现了 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/
我是一名优秀的程序员,十分优秀!