当MKMapView showsUserLocation == YES时隐藏MKUserLocation

时间:2012-03-14 23:25:33

标签: ios location mkmapview mkannotation

mapView.showsUserLocation设置为true后,是否可以在不显示MKUserLocation气泡的情况下接收位置更新?在mapView:viewForAnnotation:中返回nil只显示气泡,返回任何其他类型的注释都会显示一个我不想要的注释。

2 个答案:

答案 0 :(得分:25)

您可以在didAddAnnotationViews委托方法中隐藏用户位置的视图:

-(void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
    MKAnnotationView *ulv = [mapView viewForAnnotation:mapView.userLocation];
    ulv.hidden = YES;
}

答案 1 :(得分:2)

斯威夫特3:

func mapView(_ mapView: MKMapView, didAdd views: [MKAnnotationView]) {
   if let userLocation = mapView.view(for: mapView.userLocation) {
        userLocation.isHidden = true
   }
}