Mapview放大IOS6

时间:2012-12-12 06:17:49

标签: ios6 mkmapview zooming iphone-5

我正在做一个mapview应用程序。我有一组地址联系人,我使用

转换成坐标
-(CLLocationCoordinate2D) getLocationFromAddressString:(NSString*) addressStr {

NSString *urlStr = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv",
                    [addressStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSString *locationStr = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlStr] encoding:NSStringEncodingConversionAllowLossy error:nil];
NSArray *items = [locationStr componentsSeparatedByString:@","];
double latitude = 0.0;
double longitude = 0.0;


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

return location;
}

地图视图应以最佳缩放格式加载,其中地图上的所有图钉应立即对用户可见,并且用户应能够放大和缩小。我在以前的IOS版本中找到了解决此问题的方法。  我在IOS6遇到问题。需要帮助。

编辑:这是我用来缩放的代码

for(MKPointAnnotation* annotation in annotationArray)
{
    topLeftCoord.longitude = fmin(topLeftCoord.longitude, annotation.coordinate.longitude);
    topLeftCoord.latitude = fmax(topLeftCoord.latitude, annotation.coordinate.latitude);

    bottomRightCoord.longitude = fmax(bottomRightCoord.longitude, annotation.coordinate.longitude);
    bottomRightCoord.latitude = fmin(bottomRightCoord.latitude, annotation.coordinate.latitude);
}

MKCoordinateRegion region;
region.center.latitude = topLeftCoord.latitude - (topLeftCoord.latitude - bottomRightCoord.latitude) * 0.5;
region.center.longitude = topLeftCoord.longitude + (bottomRightCoord.longitude - topLeftCoord.longitude) * 0.5;
region.span.latitudeDelta = fabs(topLeftCoord.latitude - bottomRightCoord.latitude) * 1.1;
region.span.longitudeDelta = fabs(bottomRightCoord.longitude - topLeftCoord.longitude) * 1.1;

region = [mapViews regionThatFits:region];
[mapView setRegion:region animated:NO];

我面临的问题是,地图有一些不一致之处,地图会缩放到要缩放的区域。

编辑:问题是,如果我在英国有地址联系人,而在日本有另一个地址联系人,则mapview无法同时显示这两个地址。它将放大一个区域,该区域将是整个区域的确切中心,包括英格兰和日本,这意味着,地图视图上都不会显示引脚。我需要向两侧滑动以查看2个引脚。这与mapview的最大缩放级别有关。

0 个答案:

没有答案