0

IOS で mapkit を使用してマップ上にユーザーを表示する方法。このコードは、定義された座標ではなく、マップ上にインドのみを表示します。

    mapView.delegate = self;
    mapView.showsUserLocation = YES;
    objLocationManager = [[CLLocationManager alloc] init];
    objLocationManager.distanceFilter = kCLDistanceFilterNone;
    objLocationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
    objLocationManager.delegate = self;
    #ifdef __IPHONE_8_0
    if(IS_OS_8_OR_LATER) {
        // Use one or the other, not both. Depending on what you put in info.plist
        //[objLocationManager requestWhenInUseAuthorization];
        [objLocationManager requestAlwaysAuthorization];
    }
    #endif
   [objLocationManager startUpdatingLocation];

    mapView.showsUserLocation = YES;
    [mapView setMapType:MKMapTypeStandard];
    [mapView setZoomEnabled:YES];
    [mapView setScrollEnabled:YES];
     mapView.delegate=self;
4

2 に答える 2

1

場所の更新を開始すると、現在の場所が取得されますが、MKMapview は場所の変更をどのように認識しますか? MKMap ビューが場所の変更を採用するには、デリゲートを MKMapview に設定する必要があり、その部分は既に行っていますが、デリゲート メソッドを忘れてしまいました。

- (void)mapView:(MKMapView *)aMapView didUpdateUserLocation:(MKUserLocation *)aUserLocation {}

このデリゲート メソッドは、現在の場所を mapview に送信するだけで十分です。デフォルトのデリゲート メソッドを使用する場合は、CLLocation Update メソッドから受け取った現在の座標を使用して、マップ上にマーカーを配置する必要があります。

デフォルトのデリゲート メソッドを使用する場合は、MKMapViewDelegate を確認することを忘れないでください。

うまくいくかどうかお知らせください。きっとうまくいくと思います...良い一日を

于 2015-12-16T04:39:21.160 に答える