MkMapView缩放级别

问题描述:

我m使用MkMapView谷歌地图。我成功地显示地图视图和地址与注释pin.But我想增加缩放level.How我可以设置它编程?MkMapView缩放级别

-(void)showMyAddress 
{ 

//Hide the keypad 
MKCoordinateRegion region; 
MKCoordinateSpan span; 
span.latitudeDelta=0.2; 
span.longitudeDelta=0.2; 

CLLocationCoordinate2D location = [self addressLocation]; 
region.span=span; 
region.center=location; 



if(addAnnotation != nil) { 
    [mapView removeAnnotation:addAnnotation]; 
    [addAnnotation release]; 
    addAnnotation = nil; 
} 


addAnnotation = [[AddAnnotation alloc] initWithCoordinate:location ]; 
[addAnnotation setMTitle:@"abc"]; 
[addAnnotation setMSubTitle:@"def."] 




[mapView addAnnotation:addAnnotation]; 

[mapView setRegion:region animated:TRUE]; 
[mapView regionThatFits:region]; 


} 


-(CLLocationCoordinate2D) addressLocation { 
NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv", 
         [@"abc" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 


NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString] encoding:NSStringEncodingConversionAllowLossy error:nil]; 
NSArray *listItems = [locationString componentsSeparatedByString:@","]; 

double latitude = 0.0; 
double longitude = 0.0; 

if([listItems count] >= 4 && [[listItems objectAtIndex:0] isEqualToString:@"200"]) { 
    latitude = [[listItems objectAtIndex:2] doubleValue]; 
    longitude = [[listItems objectAtIndex:3] doubleValue]; 
} 
else { 

} 
CLLocationCoordinate2D location; 
location.latitude = latitude; 
location.longitude = longitude; 

return location; 
} 

充分利用span.longitudeDelta和span.latitudeDelta小(即,它设置为0.02,而不是0.2具有10X变焦)。

+0

感谢您的答复.. – Swapnil 2010-04-29 06:18:26

试试这个很好的教程,它帮助我:
http://troybrant.net/blog/2010/01/set-the-zoom-level-of-an-mkmapview/

+0

这是露出了私有API有没有人有没有运气提交与此? – Jon 2014-04-11 20:16:15

这一类别获取和设置缩放级别

https://github.com/jdp-global/MKMapViewZoom