Как установить mapRect для mkOverlay?

Я хочу установить прямоугольник поверх маршрута полилинии на моей карте.

это именно то, что я пытаюсь сделать:

- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay
{
    if ([overlay isKindOfClass:[MKPolyline class]]) {
        MKPolyline *route = overlay;
        MKPolylineRenderer *routeRenderer = [[MKPolylineRenderer alloc] initWithPolyline:route];
        routeRenderer.strokeColor = [[UIColor blueColor] colorWithAlphaComponent:0.7];
        routeRenderer.lineWidth = 5.0;
        [self.mapView.visibleMapRect = route.boundingMapRect];
        return routeRenderer;
    }
    else return nil;
}

у меня проблема с этой строкой кода:

[self.mapView.visibleMapRect = route.boundingMapRect];

я получаю ошибку "Ожидаемый идентификатор". что не так с этой строкой кода? это правильный способ установить Mkrect для маршрута MKPolyline?

Спасибо!

2 ответа

Это не то, как ты пишешь цель-C, попробуйте это

self.mapView.visibleMapRect = route.boundingMapRect;

или же

[self.mapView setVisibleMapRect:route.boundingMapRect animated:YES];

Я решил с этой буксирной строкой кода:

MKMapRect test = MKMapRectInset(route.boundingMapRect, -route.boundingMapRect.size.height/2, -route.boundingMapRect.size.width/2);
    [self.mapView setVisibleMapRect:test animated:YES];
Другие вопросы по тегам