ios - 区分 UserLocation Pin 和用户添加的 Pin 之间的区别

标签 ios annotations mkannotationview mkpinannotationview

我正在尝试解决一个我不确定如何解决的问题。在我的应用程序中,本地图套件启动时,我会在用户的当前位置放置一个图钉。 Mapkit 委托(delegate)给 viewForAnnotation,它设置了工作正常的图钉颜色。

我遇到的问题是我无法区分注释,因此我可以对“用户添加的位置”和“当前位置”引脚应用不同的颜色。我想添加一个按钮,以便他们可以删除他们添加的任何图钉,但无法删除他们的“当前位置”图钉。我似乎不知道如何提取任何可识别的信息,例如图钉的标题或副标题。

预先感谢您的帮助。

这是我的代码...

    - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
    NSLog(@"OAAssignmentGPSViewController.m : mapView viewForAnnotation");

    if([annotation isKindOfClass: [MKUserLocation class]])
    return nil;

    NSLog(@" mapView.userLocation.title = %@", self.mapView.userLocation.title);
    static NSString* annotationIdentifier = @"currentlocation";
    MKPinAnnotationView *myPinView = (MKPinAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:annotationIdentifier];
    if (!myPinView) {
    myPinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:nil] ;
    myPinView.pinColor = MKPinAnnotationColorRed;
    myPinView.canShowCallout = YES;
    myPinView.animatesDrop = YES;

    NSLog(@"mapView.description %@", self.mapView.userLocation.title);
    if( annotation   != self.mapView.userLocation)<<<<<----how do I check for UserLocation
    {
        myPinView.pinColor = MKPinAnnotationColorGreen;
        myPinView.rightCalloutAccessoryView =   [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    }
   }
    return myPinView;
}

最佳答案

为其他新手更新此内容,这就是答案......

if ([annotation isKindOfClass:[MKUserLocation class]]) ....{

   this is the current location pin

}else {

    these are you custom locations pins
}

关于ios - 区分 UserLocation Pin 和用户添加的 Pin 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16073871/

相关文章:

java - Hibernate 验证注解——验证至少一个字段不为空

java - 像@depreciated这样的注释

iphone - MKMapView 忽略 iOS 4 中 centerOffset 的更新

swift - 由于 MKPointAnnotation 上无法识别的选择器而导致崩溃

ios - 如何在 Swift 中编写 UIViewController 的初始化方法

ios - FBSDKGraphRequest 登录后不重定向到应用程序

iphone - 带有自定义单元格的 tableView 上的 "Load more.."- 单元格重用导致我出现一些问题

java - hibernate中查询语法异常

objective-c - 如何将 url 中的图像添加到 MKAnnotationView 以进行视网膜显示?

iOS下拉 View