2010-01-21 2 views
1

Я хотел бы центрировать карту (mapkit) против местоположения пользователя. Я делаю следующее в симуляторе, но получаю только синюю карту без содержимого. Какие шаги я должен предпринять?Центрирующая карта против местоположения пользователя

MKCoordinateRegion region; 
MKCoordinateSpan span; 
span.latitudeDelta=0.2; 
span.longitudeDelta=0.2; 

CLLocationCoordinate2D location; 
location.latitude = mapView.userLocation.location.coordinate.latitude; 
location.longitude = mapView.userLocation.location.coordinate.longitude; 

region.span=span; 
region.center=location; 
[self.mapView setRegion:region animated:TRUE]; 
[self.mapView regionThatFits:region]; 

Длинные/лат значения из приведенного выше, являются:

location.latitude = 1.0256307104653269e-305
location.longitude = 1.2742349910917941e-313

--- --- РЕДАКТИРОВАТЬ
Я нашел ответ на следующий комментарий здесь: Mapkit UserLocation found event. Используется с приведенным ниже ответом, который обеспечивает решение.

ответ

1

Синяя карта без содержания обычно означает, что вы где-то в океане. Уменьшите и проверьте свои координаты, вы, скорее всего, у берегов Африки на широте 0.0 и долготе 0.0. Вы проверили, какие значения находятся в вашей широте и долготе?

Вы также можете попробовать использовать -setCenterCoordinate: animated: с центром userLocation.

+0

Я обновил вопрос, чтобы отразить некоторые ответы на ваши вопросы. Я также делаю это \t [self.mapView setCenterCoordinate: self.mapView.userLocation.location.coordinate], но я все еще в Атлантическом океане. – 4thSpace

Смежные вопросы