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

87
14

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

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

- (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?

благодарю!

спросил(а) 2013-09-17T00:12:00+04:00 6 лет, 8 месяцев назад
1
Решение
53

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

self.mapView.visibleMapRect = route.boundingMapRect;

или

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

ответил(а) 2013-09-17T03:45:00+04:00 6 лет, 8 месяцев назад
38

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

MKMapRect test = MKMapRectInset(route.boundingMapRect, -route.boundingMapRect.size.height/2, -route.boundingMapRect.size.width/2);
[self.mapView setVisibleMapRect:test animated:YES];

ответил(а) 2013-09-17T10:30:00+04:00 6 лет, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема