масштабирование iPhone к пользовательскому местоположению на mapkit

Я использую набор карты и показываю местоположение пользователя с помощью "showsUserLocation" меня "m использующий после кода для изменения масштаба к местоположению пользователя, но не изменению масштаба. Его изменение масштаба к некоторому местоположению в Африке, хотя пользовательское местоположение на карте показывает корректный.

MKCoordinateRegion newRegion; 
MKUserLocation* usrLocation = mapView.userLocation; 
newRegion.center.latitude = usrLocation.location.coordinate.latitude; 
newRegion.center.longitude = usrLocation.location.coordinate.longitude;
newRegion.span.latitudeDelta = 20.0;
newRegion.span.longitudeDelta = 28.0; 
[self.mapView setRegion:newRegion animated:YES];

Почему местоположение пользователя правильно показывает и не масштабирует правильно. Кто-то может исправить меня?

11
задан Satyam 16 June 2010 в 17:14
поделиться

2 ответа

При первом создании mapView.userLocation задается местоположение у побережья Африки (0,0). В результате я делаю что-то вроде следующего, что вызывает увеличение масштаба при появлении аннотации. Конечно, это всего лишь пример:

- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views {
    for(MKAnnotationView *annotationView in views) {
        if(annotationView.annotation == mv.userLocation) {
            MKCoordinateRegion region;
            MKCoordinateSpan span;

            span.latitudeDelta=0.1;
            span.longitudeDelta=0.1; 

            CLLocationCoordinate2D location=mv.userLocation.coordinate;

            region.span=span;
            region.center=location;

            [mv setRegion:region animated:TRUE];
            [mv regionThatFits:region];
        }
    }
}
26
ответ дан 3 December 2019 в 02:52
поделиться

Вы проверили, что местоположение, возвращаемое mapView.userLocation , не равно 0, 0?

1
ответ дан 3 December 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: