0

青い点の円でマップにユーザーの現在の場所を表示する必要があります。CLLocationManager を使用しました。ただし、マップビューのみが表示されます。カスタムの緯度、経度を送信しました。しかし、この緯度、経度は地図に表示できません。

コード:

- (void)viewDidLoad
{
    UIView *vc=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];

    [self.view addSubview:vc];
    MKMapView *map = [[MKMapView alloc] init]; 
    map.frame = CGRectMake(0, 0, 320, 480);

    map.showsUserLocation=YES;
  [self.view addSubview:map];
locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.distanceFilter = kCLDistanceFilterNone;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;

    [locationManager startUpdatingLocation];



    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
   // NSLog(@"OldLocation %f %f", oldLocation.coordinate.latitude, oldLocation.coordinate.longitude);
   // NSLog(@"NewLocation %f %f", newLocation.coordinate.latitude, newLocation.coordinate.longitude);

    CLLocationCoordinate2D loc = [newLocation coordinate];

    NSLog(@"current longitude = %f  ,   current latitude = %f",loc.longitude,loc.latitude);
}
4

1 に答える 1

1

InterfaceBuilder を使用して、マップ ビューを画面にドロップし、[ユーザーの場所を表示] の横にあるボックスにチェックを入れます。

また、ユーザーの位置を表示するために locationmanager は必要ありません。mapview が処理します。

于 2013-03-12T22:22:56.217 に答える