【发布时间】:2014-01-20 14:34:27
【问题描述】:
如何在地图视图图钉图像的顶部显示用户位置图标(蓝点)。 现在用户位置图标被 pin 图像隐藏。(在 pin 图像下方)。
这个任务怎么做?(查看截图)
是否可以在图片顶部显示用户位置图标?
谢谢。
【问题讨论】:
标签: ios mkmapview mkannotation
如何在地图视图图钉图像的顶部显示用户位置图标(蓝点)。 现在用户位置图标被 pin 图像隐藏。(在 pin 图像下方)。
这个任务怎么做?(查看截图)
是否可以在图片顶部显示用户位置图标?
谢谢。
【问题讨论】:
标签: ios mkmapview mkannotation
您可以获取 userLocation 的注释并将他的视图置于前面。
MKAnnotationView *annotationView = [self.mapView viewForAnnotation:self.mapView.userLocation];
[annotationView.superView bringSubviewToFront:annotationView];
【讨论】:
这可能是因为您覆盖了 userLocation 的注释视图。
在 Map View 委托方法 - mapView:viewForAnnotation: 上,您可以这样做:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation {
<YourAnnotationViewClass> *annotationView = nil;
if (annotation != [mapView userLocation]) {
// Add custom annotation view
}
return annotationView;
}
在annotation == [mapView userLocation]的情况下,如果返回nil,将使用默认注解(本例中为蓝色圆圈)。
【讨论】:
public func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {
if (annotation is MKUserLocation) {
return nil
}
var annotationView: MKAnnotationView?
// personalize annotationView
return annotationView
}
【讨论】: