Как установить положение метки в MKMapView?
MKMapView показать pin-код в центре mapView, я хочу расположить pin-код выше центра. Как мне это сделать?
Вот мой код
- (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 ответ:
Если вы хотите сохранить булавку в этих координатах, но центрировать карту ниже булавки, чтобы булавка была немного выше центра, сдвиньте
center
изregion
на долю широтного диапазона.Вместо этого:
region.center=location;
Сделайте так:
region.center = CLLocationCoordinate2DMake( location.latitude - (span.latitudeDelta/5.0), location.longitude);
Увеличьте / уменьшите делитель, чтобы уменьшить/увеличить смещение.
Кроме того, строка[mapView regionThatFits:region];
не нужна-вы можете удалить ее.
Во-первых,setRegion
уже делаетregionThatFits
сам, а во-вторых,regionThatFits
возвращает a значение, но код не обрабатывает возвращаемое значение.