所以我真的很困惑。我用过:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
static NSString* AnnotationIdentifier = @"Annotation";
MKPinAnnotationView *pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationIdentifier];
if (!pinView) {
MKPinAnnotationView *customPinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier];
if (annotation == mapView.userLocation){
customPinView.image = [UIImage imageNamed:@"303761_4417778996801_94858213_n.jpg"];
[customPinView.layer setMasksToBounds:NO];
[self setRoundedView:customPinView toDiameter:kPictureDiameter];
[customPinView.layer setBorderColor:[UIColor whiteColor].CGColor];
[customPinView.layer setBorderWidth:5.0f];
[customPinView.layer setShadowColor:[UIColor blackColor].CGColor];
[customPinView.layer setShadowOpacity:1.0f];
[customPinView.layer setShadowRadius:20.0f];
[customPinView.layer setShadowOffset:CGSizeMake(0, 0)];
[customPinView setBackgroundColor:[UIColor whiteColor]];
}
return customPinView;
} else {
pinView.annotation = annotation;
}
return pinView;
}
将我自己的图像添加到用户位置图钉。这很有效。但是有两个问题:
阴影不起作用。
我为用户定位引脚设置的图像偏离中心,如下所示: user location picture
我尝试过使用CGRect,CGPoint,设置框架,中心等(尽管我还没有尝试改变界限)并且没有任何改变。
任何帮助都会非常感激。
答案 0 :(得分:3)
就偏离中心的形象而言,有两点想法:
我在使用自己的图片进行注释时通常会使用MKAnnotationView
,而不是MKPinAnnotationView
。当我尝试使用MKPinAnnotationView
时,我的图片不再居中。
如果最糟糕的情况发生,您可以使用centerOffset
属性。如果您使用MKAnnotationView
,我认为您不应该这样做。
关于你的影子:
20的阴影半径是如此之大,它是如此分散,你几乎看不到它。当我使用20时,我几乎无法实现它。它在10时开始变得更加明显,在5时更加明显。我不认为这是真正的问题,但是当你开始实验时,使用一个数字这里足够低,所以你可以清楚地看到阴影。
话虽如此,我认为这不是问题所在。我对图像舍入算法持怀疑态度。你可以尝试暂时评论一下,看看你的影子是否出现了吗?但我在我的MKAnnotationView
图像上使用阴影,它工作正常。你能与我们分享你的舍入算法吗?
如果不这样做,此图像是否与叠加层重合? (即图片背后的那个圈子是什么)。我再次尝试暂时删除它,看看是否会改变行为。当我使用MKCircleView
时,它工作正常,但我们确保我们没有做任何好奇的事情(或任何其他绘图程序)。