0

私のアプリに必要なのは、位置情報サービスを使用してマップビューに現在の場所を表示することです。ここに私のコードがあります

.h

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
@interface MapDirectoryViewController : UIViewController <MKMapViewDelegate, CLLocationManagerDelegate>


@property (weak, nonatomic) IBOutlet MKMapView *myMapView;

- (IBAction)backAction:(id)sender;
@end

.m

@interface MapDirectoryViewController ()

@end

@implementation MapDirectoryViewController
{
    MKCoordinateRegion myRegion;
    CLLocationCoordinate2D center;
    MKCoordinateSpan span;
    NSMutableArray *locations;
    CLLocationCoordinate2D location;
    Annotation *myAnnoation;
}

@synthesize myMapView;

- (void)viewDidLoad {
    [super viewDidLoad];

    myMapView.showsUserLocation = YES;
    [myMapView setShowsUserLocation:YES];

    [myMapView setCenterCoordinate:myMapView.userLocation.location.coordinate animated:YES];

}


#delegation

-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
    //what do i need to do in here?
}

私が本当に必要としているのは、青い点を地図上に表示させ、アプリの読み込み時にその点を地図の中心にすることです.

私のviewdidloadでわかるように、ユーザーの現在の場所をアクティブにするために多くの方法を試しましたが、どれも機能しません...

そして、実際のiphone6でもう1つ気づいたのは、一般的に、私のアプリには「場所」オプションがないため、物理的にアクティブにすることはできないということです....たとえば、GoogleマップまたはFacebookアプリには、一般的に「場所」オプションがありますアプリ構成...

何かアドバイスはありますか?どのコード例も本当に役に立ちます。どうもありがとうございました。

4

2 に答える 2

0

位置情報の許可を設定した場合

[LocationManager requestWhenInUseAuthorization]

また

[LocationManager requestAlwaysAuthorization]

次に設定します

[self.mapLocation setShowsUserLocation:YES];

また、次のようにマップ アノテーション デリゲートにコードを記述します。

- (MKAnnotationView *)mapView:(MKMapView *)mapViewIn viewForAnnotation:(id <MKAnnotation>)annotation {
    //Your stuff
     if (annotation == _mapLocation.userLocation) {
        return nil;
     }


}
于 2017-11-25T06:48:48.837 に答える