2016-12-28 2 views
2

私は、ユーザーが、彼はちょうど必要が円を見て、以前のズームレベルに戻りたい場合は注釈を見るために、深い内部MKCircleズームの施設で、同じ瞬間にユーザーに提供したいMKMapViewアプリを作成しています同じボタンを押す。 ズームレベルを切り替える方法がわかりません。私はmkmapviewに、プロパティビューには、負荷をしたときiszoomedマークするBOOL値をすることができます同じボタンのMKMapViewでMKCircleをズームイン/ズームアウトする方法iosでクリックしますか?

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

おかげ

+0

あなたが試したコードを書いてください。 – Lion

答えて

0

を入れる前にmkcircleの半径を計算した以下のコードで

//、ときユーザーが最初にボタンをクリックしたり、ズームインまたはズームアウトしたり、BOOL値を変更したり、ボタンを再度クリックしたりするときはBOOL値をチェックします。 falseの場合はズームアウトします。

+0

回答ありがとうございます。私はボタンクリックで異なるズームレベルを提供していますが、領域のスパンは設定されても変更されません。 – sarita

+0

写真をアップロードできますか?あなたの問題を理解できません。 –

関連する問題