MKCaple을 확대/축소하는 기능을 사용자에게 제공하려는 MKMapView 앱을 만들고 있는데, 사용자가 원을 보려면 이전 확대/축소 수준으로 돌아가고 싶을 때 같은 순간에 동일한 버튼을 누릅니다. 확대/축소 수준을 전환하는 방법이 표시되지 않습니까? 아래의 코드에서 내가MKMapView의 MKCircle을 확대/축소하는 방법 동일한 버튼의 동일한 버튼을 클릭하십시오.
- (IBAction)adjustCircle:(id)sender{
long radius=[self calculateRadius];
NSLog(@"draw circle of radius=%ld",radius);
//int meter = 1000;
MKCircle *circle= [[MKCircle alloc]init];
circle = [MKCircle circleWithCenterCoordinate:CLLocationCoordinate2DMake([groupLat floatValue], [groupLon floatValue]) radius:radius];
[myMapView addOverlay:circle];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(CLLocationCoordinate2DMake([groupLat floatValue], [groupLon floatValue]), 500, 500);
region.span.latitudeDelta =[self getZoomLevel:circle];
region.span.longitudeDelta =[self getZoomLevel:circle];
[myMapView setRegion:region animated:YES];
-(int) getZoomLevel:(MKCircle*) circle {
zoomLevel = 11;
if(isShowLocPoints == YES){
return 20;
}
if (circle != nil) {
double radius = [circle radius] + [circle radius]/2;
double scale = radius/500;
zoomLevel=(16 - log(scale)/log(2));
}
NSLog(@"zoom level=%d",zoomLevel);
return zoomLevel;
감사
답변을 주셔서 감사합니다 .1 – Lion