在不更改用户位置图像的情况下将图像添加到 MKPointAnnotation
Add an image to MKPointAnnotation without changing User Location image
我正在使用 this 代码将图像添加到 MKPointAnnotation。
- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation
{
static NSString *SFAnnotationIdentifier = @"SFAnnotationIdentifier";
MKPinAnnotationView *pinView =
(MKPinAnnotationView *)[_routeMap dequeueReusableAnnotationViewWithIdentifier:SFAnnotationIdentifier];
if (!pinView)
{
MKAnnotationView *annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation
reuseIdentifier:SFAnnotationIdentifier];
UIImage *flagImage = [UIImage imageNamed:@"BikeIconMap"];
// You may need to resize the image here.
annotationView.image = flagImage;
return annotationView;
}
else
{
pinView.annotation = annotation;
}
return pinView;
}
但它也显示了用户位置的自定义图像。用户位置的圆波动画也没有了
有没有办法在不改变用户位置图像和动画的情况下将图像添加到 MKPointAnnotation?
在 MKMapViewDelegate 的 viewForAnnotation: 方法中添加这段代码
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
if (annotation == mapView.userLocation) return nil;
我正在使用 this 代码将图像添加到 MKPointAnnotation。
- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation
{
static NSString *SFAnnotationIdentifier = @"SFAnnotationIdentifier";
MKPinAnnotationView *pinView =
(MKPinAnnotationView *)[_routeMap dequeueReusableAnnotationViewWithIdentifier:SFAnnotationIdentifier];
if (!pinView)
{
MKAnnotationView *annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation
reuseIdentifier:SFAnnotationIdentifier];
UIImage *flagImage = [UIImage imageNamed:@"BikeIconMap"];
// You may need to resize the image here.
annotationView.image = flagImage;
return annotationView;
}
else
{
pinView.annotation = annotation;
}
return pinView;
}
但它也显示了用户位置的自定义图像。用户位置的圆波动画也没有了
有没有办法在不改变用户位置图像和动画的情况下将图像添加到 MKPointAnnotation?
在 MKMapViewDelegate 的 viewForAnnotation: 方法中添加这段代码
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
if (annotation == mapView.userLocation) return nil;