gpt4 book ai didi

ios - mkmapview MKUserLocation 注释 View

转载 作者:可可西里 更新时间:2023-11-01 06:20:55 24 4
gpt4 key购买 nike

我正在尝试为 map 上的注释创建自定义注释 View 。我通过调整协议(protocol) MKMapViewDelegate 并覆盖函数 mapView:viewForAnnotation: 来做到这一点。一切正常,唯一的问题是我还将 showsUserLocation 设置为 TRUE,这意味着我在 mapView:viewForAnnotation: 方法属于 MKUserLocation 类。

我不希望 userlocation 注释具有我的自定义注释 View ,我希望那个显示默认的 userlocation 注释 View !如何返回用户位置的默认用户位置注释 View 或将其从注释中排除(来自 mapView:viewForAnnotation:)?

我试图在 mapView:viewForAnnotation: 方法中捕获 UserLocation,但我不知道要返回什么! (在这个例子中,我返回了一个标准的 MKAnnotationView,但它看起来不像默认的 UserLocation Annotation(很明显)。)

    if (![[annotation class] isEqual:[MKUserLocation class]]) {

MKAnnotationView *view = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"customAnnotation"];
// edit the custom view
return view;
}

MKAnnotationView *view = [[MKAnnotationView alloc] init];
return view;

最佳答案

要显示用户位置的默认注释,只需返回 nil 即可,我是这样做的:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
// use your custom annotation
if ([annotation isKindOfClass:[MyAnnotationClass class]]) {
...

return annotationView;
}

// use default annotation
return nil;
}

关于ios - mkmapview MKUserLocation 注释 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15494887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com