相关疑难解决方法(0)

MKMapView:自定义视图而不是注释引脚

我想在我的MKMapView而不是小石头上显示图像.有人可以在这里放一些有用的代码,或告诉如何做到这一点?

谢谢!

编辑

-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:
(id <MKAnnotation>)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];

    pinView.pinColor = MKPinAnnotationColorGreen; 
    pinView.canShowCallout = YES;
    pinView.animatesDrop = YES;
    pinView.image = [UIImage imageNamed:@"pinks.jpg"];    //as suggested by Squatch
} 
else {
    [mapView.userLocation setTitle:@"I am here"];
}
return pinView;
}
Run Code Online (Sandbox Code Playgroud)

我期待我的图像pinks.jpg在地图上,固定位置而不是默认的针视图(摇针形状).但我仍然得到了引脚的默认图像.

objective-c mkmapview mkannotation ios swift

61
推荐指数
2
解决办法
7万
查看次数

如何使用MKAnnotationView创建自定义"pin-drop"动画?

我有一个实例,MKMapView并希望使用自定义注释图标,而不是MKPinAnnotationView提供的标准图钉图标.所以,我已经设置了一个名为CustomMapAnnotation的MKAnnotationView的子类,并且重写-(void)drawRect:了绘制CGImage.这有效.

当我尝试复制.animatesDropMKPinAnnotationView提供的功能时出现问题; 当注释被添加到MKMapView实例时,我希望我的图标能够逐渐显示,从上到下以及从左到右顺序显示.

这是 - (void)drawRect:用于CustomMapAnnotation,当你只绘制UIImage(这是第二行所做的)时它可以工作:

- (void)drawRect:(CGRect)rect {
 [super drawRect:rect];
 [((Incident *)self.annotation).smallIcon drawInRect:rect];
 if (newAnnotation) {
  [self animateDrop];
  newAnnotation = NO;
 }
} 
Run Code Online (Sandbox Code Playgroud)

添加animateDrop方法时出现问题:

-(void)animateDrop {
 CGContextRef myContext = UIGraphicsGetCurrentContext();

 CGPoint finalPos = self.center;
 CGPoint startPos = CGPointMake(self.center.x, self.center.y-480.0);
 self.layer.position = startPos;

 CABasicAnimation *theAnimation;
 theAnimation=[CABasicAnimation animationWithKeyPath:@"position"];
 theAnimation.fromValue=[NSValue valueWithCGPoint:startPos];
 theAnimation.toValue=[NSValue valueWithCGPoint:finalPos];
 theAnimation.removedOnCompletion = NO;
 theAnimation.fillMode = kCAFillModeForwards;
 theAnimation.delegate = self;
 theAnimation.beginTime = 5.0 * (self.center.x/320.0);
 theAnimation.duration = 1.0;
 [self.layer addAnimation:theAnimation …
Run Code Online (Sandbox Code Playgroud)

iphone core-animation mapkit mkpinannotationview

24
推荐指数
4
解决办法
3万
查看次数

MKMapView缩放到注释 - annotationVisibleRect

有没有人有一个例子,说明如何使用MKMapView上的annotationVisibleRect属性将MKMapView缩放到所有可见注释的区域?我已经看到这篇文章提供了一个不错的解决方案,但似乎这个annotationVisibleRect属性将是最简单的解决方案.

mkmapview

2
推荐指数
1
解决办法
2664
查看次数