Вопрос

Мне нужна помощь с отображением местоположения пользователя на My MapView.Я сделал все, что мог найти онлайн, но он все еще не работает.

У меня есть CllocationManager в моем AppDelegate, который вызывает locationupdate в моем viewcontroller.

Метод (void)locationUpdate:(CLLocation *)location каждый раз вызывается каждый раз, и координаты location правильны при зарегистрировании с помощью NSLog(). еще, на моем экране iPhone нет «синей точки».Регион также не установлен.

Пожалуйста, посмотрите и скажите, если я пропущу ничего.

Это мой файл заголовка:

//My .h file
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <MapKit/MKAnnotation.h>
#import <MapKit/MKReverseGeocoder.h>
@interface FirstViewController : UIViewController <MKMapViewDelegate>
{
    MKMapView *mapView;
}
-(void)locationUpdate:(CLLocation *)location;
-(void)locationError:(NSError *)error;
@end
.

Это моя часть моего файла реализации:

//My .m file
#import "FirstViewController.h"
@implementation FirstViewController
- (void)viewDidLoad
{
    mapView = [[MKMapView alloc] initWithFrame:self.view.bounds];
    mapView.showsUserLocation = YES;
    mapView.mapType = MKMapTypeStandard;
    mapView.delegate = self;

    CLLocationCoordinate2D location;
    MKCoordinateRegion region;// = {{0.0,0.0},{0.0,0.0}};
    location.latitude = -33.8771;
    location.longitude = 18.6155;
    MKCoordinateSpan span;
    span.latitudeDelta = 0.01;
    span.longitudeDelta = 0.01;
    region.span = span;
    region.center = location;
    [mapView setRegion:region animated:TRUE];
    [mapView regionThatFits:region];
    [super viewDidLoad];
}
-(void)locationUpdate:(CLLocation *)location
{
    CLLocationCoordinate2D loc = [location coordinate];
    [mapView setCenterCoordinate:loc];
    if([mapView showsUserLocation] == NO)
    [mapView setShowsUserLocation:YES];
    NSLog(@"User Loc: %f, %f", mapView.userLocation.location.coordinate.latitude,
                     mapView.userLocation.location.coordinate.longitude);
    NSLog(@"In MapView: %@",[location description]);
}
@end
.

Спасибо за ваше время! Это очень ценится!

Это было полезно?

Решение

Ваш комплект карты в интерфейсе Builder необходимо проверить (найти местоположение пользователя)!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top