Iphone 默认用户位置pin上的Callout AccessoryView
在显示用户位置时,是否可以将Callout AccessoryView添加到默认pin(蓝色圆点脉冲,带精确圆圈)中。在下面的代码中,您创建自己的pin并添加“pinView.rightCalloutAccessoryView”,当批注不是用户位置时,这可以在用户位置但仍使用默认pin时完成,还是必须使用自己的pin来实现此功能Iphone 默认用户位置pin上的Callout AccessoryView,iphone,mapkit,callouts,accessoryview,Iphone,Mapkit,Callouts,Accessoryview,在显示用户位置时,是否可以将Callout AccessoryView添加到默认pin(蓝色圆点脉冲,带精确圆圈)中。在下面的代码中,您创建自己的pin并添加“pinView.rightCalloutAccessoryView”,当批注不是用户位置时,这可以在用户位置但仍使用默认pin时完成,还是必须使用自己的pin来实现此功能 - (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id )annotation {
- (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id )annotation
{
MKPinAnnotationView *pinView = nil;
if(annotation != mapView.userLocation)
{
static NSString *defaultPinID = @"com.invasivecode.pin";
pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
if ( pinView == nil )
pinView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];
pinView.pinColor = MKPinAnnotationColorGreen;
pinView.canShowCallout = YES;
pinView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
pinView.animatesDrop = YES;
}
else
[mapView.userLocation setTitle:@"I am here"];
return pinView;
}
谢谢。注释掉userLocation检查,看看会发生什么。
MKPinAnnotationView
是一个帮助类,您可以用于地图上的任何内容,包括您的位置。您可能希望将pinColor更改为MKPinAnnotationColor*
,以将其与地图上的其他管脚区分开来。是的,你可以看到附属视图。如果我注释掉userLocation复选框,它只使用我的pin而不是默认的蓝色脉冲pin。Michael我不想更改pinColor,只需更改默认pin以包含一个公开按钮。我想看看是否可以保留蓝色脉冲pin,但要使用“披露”按钮。注释掉userLocation检查,看看会发生什么。MKPinAnnotationView
是一个帮助类,可以用于地图上的任何内容,包括您的位置。您可能希望将pinColor更改为MKPinAnnotationColor*
,以将其与地图上的其他管脚区分开来。是的,你可以看到附属视图。如果我注释掉userLocation复选框,它只使用我的pin而不是默认的蓝色脉冲pin。Michael我不想更改pinColor,只需更改默认pin以包含一个公开按钮。我想看看是否有可能保持蓝色脉冲针,但披露按钮。