지도 오버레이를 배치했습니다. 기본지도보기와 정확히 겹치도록 회전을 조정해야합니다. 이것을 어떻게 할 수 있습니까? 회전 할 각도를 찾았습니다. 오버레이보기를 어떻게 회전시킬 수 있습니까? 지금까지 오버레이를 추가했지만 변환을 사용하여 회전 할 수는 없습니다. 내가 알아챈 것은 각도를 바꿀 때 이미지가 회전하지 않고 대신 x 축 (측면 방향)을 따라 슬라이드한다는 것입니다. 여기 회전 할 MKOverlayView
이 내가 내가 수동으로 김프를 사용하여 이미지를 회전하여 배치하는 해결 방법을을 얻을 것입니다 내가
- (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context
{
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"routeImage" ofType:@"png"];
UIImage *image = [[UIImage alloc] initWithContentsOfFile:imagePath];
MKMapRect theMapRect = self.overlay.boundingMapRect;
CGRect theRect = [self rectForMapRect:theMapRect];
CGAffineTransform transform = CGAffineTransformMakeRotation((-35.88)/180.0 * M_PI);
[self setTransform:transform];
CGContextSaveGState(context);
CGContextScaleCTM(context, 1.0, -1.0);
CGContextTranslateCTM(context, 0.0, -theRect.size.height);
CGContextDrawImage(context, theRect,image.CGImage);
CGContextRestoreGState(context);
}
을 시도하는 코드입니다. 그러나 나는 그것을 사용자 정의해야합니다.
이
김프를 사용하여 형질 전환 image과 오버레이을 같이지도에 배치하고 내가 [메모를 변환하여 컨텍스트를 회전 할 때이 경우 : 이미지가 회전하지만보기 정확한 위치에 있지 된 컨텍스트를 회전하면서 image. 또한 이것은 내가
//Hayl-Road-Final.png is the actual image without transformation using GIMP
UIImage *image = [[UIImage imageNamed:@"Hayl-Road-Final.png"] retain];
CGImageRef imageReference = image.CGImage;
MKMapRect theMapRect = [self.overlay boundingMapRect];
CGRect theRect = [self rectForMapRect:theMapRect];
// We need to flip and reposition the image here
CGContextScaleCTM(ctx, 1.0, -1.0);
CGContextTranslateCTM(ctx, 0.0, -theRect.size.height);
CGContextRotateCTM(ctx,-35.88);
//drawing the image to the context
CGContextDrawImage(ctx, theRect, imageReference);
방법 초기화 코드 또는 변환을 적용 할 뷰 "자체"가 무엇입니까? 컨텍스트를 회전 시키려고 했습니까? – Lukas
@ 루카스 : 자체로 참조되는 오버레이보기. 심지어 컨텍스트를 회전 시키려고했습니다. 이미지가 확대되는 동안 그 일이 일어났습니다. 이것을 달성 할 다른 방법이 있습니까? 할 수있는 방법이있는 것 같지만 시도한 모든 방법으로 확대 또는 정확한 위치에서 이미지가 깨지는 회전을 얻을 수있었습니다. 둘 다 아는 것이 아닙니다. – Meera
@MeeraJPai 회전하려는 이미지를 회전시킨 버전을 제시 할 수 있습니까? 이 인스턴스에서 원하는 것을 얻으려면 해결 방법을 사용해야 할 수도 있습니다. –