Как установить 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];