我有一个MKMapView
需要显示两种类型的叠加层。一个是平铺覆盖层,我使用一个子类MKOverlayView
和一个MKCircleRenderer
.
我的方法是:
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
但现在我还需要渲染一个MKCircle
编译器错误:'不兼容的指针类型从结果类型为'MKOverlayView * _Nonnull'的函数返回'MKCircleRenderer *'。
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
if ([overlay isKindOfClass:[MKCircle class]]) {
MKCircleRenderer *circleView = [[MKCircleRenderer alloc] initWithOverlay:overlay];
circleView.strokeColor = [UIColor redColor];
circleView.fillColor = [[UIColor redColor] colorWithAlphaComponent:0.4];
return circleView;
} else {
TileOverlayView *view = [[TileOverlayView alloc] initWithOverlay:overlay];
view.tileAlpha = 1.0;
return view;
}
}
那是我的代码,我知道它initWithOverlay
已被弃用,我正在处理另一个问题。