0

ユーザーの現在地をマップに表示しようとしましたが、できませんでした。私は MapKit を初めて使用するので、おそらく何か不足しています。

現在の場所を使用する許可を求めるポップアップ アラートが表示されますが、実際には場所が表示されません。

コードは次のとおりです。

ヘッダー .h:

@interface TeachersMapViewController : UIViewController <MKMapViewDelegate,  CLLocationManagerDelegate>

#define IS_OS_8_OR_LATER ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)

@property (nonatomic,retain) CLLocationManager *locationManager;
@property(nonatomic, retain) IBOutlet MKMapView *mapView;


@end

実装

- (void)viewDidLoad
{

#ifdef __IPHONE_8_0
    if(IS_OS_8_OR_LATER)
    {
        [self.locationManager requestWhenInUseAuthorization];
    }
#endif

    self.locationManager.delegate=self;
   [self.locationManager startUpdatingLocation];

    [self.mapView.userLocation addObserver:self
                                forKeyPath:@"location"
                                   options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld)
                                   context:NULL];    

}

これについて何か助けていただければ幸いです。

4

1 に答える 1

1

これにより、ユーザーの場所を有効にできます。

self.mapView.showsUserLocation = YES;

シミュレーターを使用している場合、現在の場所は表示されません。米国である可能性があります。" シミュレーターはデフォルトで米国内の場所を表示します。その場所を変更したい場合は、iOS シミュレーター メニューで に移動しDebug -> Location -> Custom Locationます。そこで緯度と経度を設定し、それに応じてアプリをテストできます。これmapkitCLLocationManager"

于 2015-09-04T03:03:07.947 に答える