如何在MKMapView中设置PlaceMark位置?

时间:2011-11-17 16:48:17

标签: objective-c mkmapview

MKMapView显示mapView中心的引脚,我想将引脚位置定位在中心上方。我该怎么做?

这是我的代码

- (void) location
{
    MKCoordinateRegion region;  
    MKCoordinateSpan span;  
    span.latitudeDelta = 0.1162;  
    span.longitudeDelta = 0.1160;  

    CLLocationCoordinate2D location;  
    location.latitude = 65.494806;  
    location.longitude = -23.577569;  
    region.span=span;  
    region.center=location;  

    PlaceMark *add_Annotation = [[[PlaceMark alloc] initWithCoordinate:location] autorelease];
    [add_Annotation setTitle:@"myTitle"];  
    [add_Annotation setSubTitle:@"myAddress"];  
    [mapView addAnnotation:add_Annotation]; 

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

1 个答案:

答案 0 :(得分:2)

如果你想将引脚保持在那些坐标但是使地图的中心低于引脚,使引脚略高于中心,则将center的{​​{1}}偏移一小部分纬度范围。

而不是:

region

这样做:

region.center=location;

增加/减少除数以减少/增加偏移。


此外,不需要行region.center = CLLocationCoordinate2DMake( location.latitude - (span.latitudeDelta/5.0), location.longitude); - 您可以将其删除 首先,[mapView regionThatFits:region];已经setRegion本身,其次,regionThatFits 返回值,但代码未处理任何返回值。