Я использую MapKit в своем приложении и отклоняю местоположение пользователя с помощью
[mapview setShowUserLocation:YES];
Я хочу установить region.center.latitude и region.center.longitude с координатой userLocation, как это сделать?
Я использую MapKit в своем приложении и отклоняю местоположение пользователя с помощью
[mapview setShowUserLocation:YES];
Я хочу установить region.center.latitude и region.center.longitude с координатой userLocation, как это сделать?
Вот мой ответ, я пробую что-то подобное, и оно работает:
//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 {
CLLocationCoordinate2D loc = [newLocation coordinate];
[maptView setCenterCoordiante:loc];
}
Намного легче:
-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(userLocation.location.coordinate, 1500, 1500);
[mapView setRegion:region animated:YES];
}
По какой-то причине у меня это не сработало. Это приводит меня к координатам (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];
Думаю, это ответ на ваш вопрос: Возвращение координат местоположения пользователя Mapkit
(использует mapView.userLocation.location.coordinate.latitude
и mapView.userLocation.location.coordinate.longitude properties
)
а затем введите эти координаты в
-(void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated
вашего экземпляра MKMapView.
Использование делегата:
-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation { MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(userLocation.location.coordinate, 500, 500); [mapView setRegion:region animated:YES]; }
Без делегата:
[self.mapView setuserTrackingMode:MKUserTrackingModeFollow];