MKAnnotationView 不做任何事情

发布于 2024-12-07 08:35:56 字数 1015 浏览 2 评论 0原文

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
    NSLog(@"I'm Working");
    static NSString *identifier = @"MyLocation";   
    if ([annotation isKindOfClass:[userPins class]]) {
      userPins *location = (userPins *) annotation;

      MKPinAnnotationView *annotationView = (MKPinAnnotationView *) [_mapView dequeueReusableAnnotationViewWithIdentifier:identifier];
      if (annotationView == nil) {
          annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
      } else {
          annotationView.annotation = annotation;
      }

      annotationView.enabled = YES;
      annotationView.canShowCallout = YES;

      if ([location.name compare:@"LARCENY"] == NSOrderedSame) {
          annotationView.pinColor = MKPinAnnotationColorGreen;
      }
      return annotationView;
    }

    return nil;   
}

该代码不起作用。我正在从 JSON 添加引脚。我看到红色引脚,但看不到 nslog(我正在工作)。有什么想法吗?

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
    NSLog(@"I'm Working");
    static NSString *identifier = @"MyLocation";   
    if ([annotation isKindOfClass:[userPins class]]) {
      userPins *location = (userPins *) annotation;

      MKPinAnnotationView *annotationView = (MKPinAnnotationView *) [_mapView dequeueReusableAnnotationViewWithIdentifier:identifier];
      if (annotationView == nil) {
          annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
      } else {
          annotationView.annotation = annotation;
      }

      annotationView.enabled = YES;
      annotationView.canShowCallout = YES;

      if ([location.name compare:@"LARCENY"] == NSOrderedSame) {
          annotationView.pinColor = MKPinAnnotationColorGreen;
      }
      return annotationView;
    }

    return nil;   
}

This code not working. I'm adding pins from JSON. I see red pins but I can't see nslog(I'm working). Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

何其悲哀 2024-12-14 08:35:56

您需要在 viewDidLoad 或 nib 中或您创建它的任何位置设置 mapView 的委托。

You need to set the mapView's delegate in viewDidLoad or in the nib or wherever you are creating it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文