Получите координаты UserLocation с помощью MapKit - PullRequest
5 голосов
/ 01 февраля 2010

Я использую MapKit в своем приложении и отключаю местоположение пользователя с помощью


[mapview setShowUserLocation:YES];

Я хочу установить region.center.latitude и region.center.longitude с координатой userLocation, как это сделать?

Ответы [ 5 ]

10 голосов
/ 10 марта 2010

Вот мой ответ, я пытаюсь что-то подобное и оно работает:


//inside my ViewDidLOad
locManager = [[CLLocationManager alloc] init];
[locManager setDelegate:self];
[locManager setDesiredAccuracy:kCLLocationAccuracyBest];
[locManager startUpdatingLocation];

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation  {<br>
   CLLocationCoordinate2D loc = [newLocation coordinate];
   [maptView setCenterCoordiante:loc];  

}
6 голосов
/ 15 августа 2012

Намного проще:

-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(userLocation.location.coordinate, 1500, 1500);
[mapView setRegion:region animated:YES];
}
2 голосов
/ 20 декабря 2010

По какой-то причине это не сработало для меня.Он ведет меня к координатам (0,0000, 0,0000).Ниже приведен мой код, если у вас есть возможность проверить его.Спасибо за помощь!

[mapView setMapType:MKMapTypeStandard];
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];
mapView.showsUserLocation=TRUE;

MKCoordinateRegion region = { {0.0, 0.0 }, { 0.0, 0.0 } };

CLLocationCoordinate2D myCoord = {mapView.userLocation.location.coordinate.latitude,mapView.userLocation.location.coordinate.longitude};
[mapView setCenterCoordinate:myCoord animated:YES];

region.span.longitudeDelta = 0.01f;
region.span.latitudeDelta = 0.01f;
[mapView setRegion:region animated:YES]; 

[mapView setDelegate:self];
1 голос
/ 01 февраля 2010

Я думаю, что это отвечает на ваш вопрос: Возвращение координат местоположения пользователя Mapkit

(использует mapView.userLocation.location.coordinate.latitude и mapView.userLocation.location.coordinate.longitude properties)

и затем введите эти координаты в

-(void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated

вашего экземпляра MKMapView.

0 голосов
/ 23 мая 2019

Использование делегата:

  1. Добавить делегата Mapkit: MKMapViewDelegate
  2. Метод достижения: MapView didUpdateUserLocation
    -(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {
        MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(userLocation.location.coordinate,
            500, 500);
        [mapView setRegion:region animated:YES];
    }
    

Без делегата:

[self.mapView setuserTrackingMode:MKUserTrackingModeFollow];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...