1

Mapkit で現在地を表示しようとしましたが、これはコードです

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    //Make this controller the delegate for the map view.
    self.MapView.delegate = self;     

    // Ensure that you can view your own location in the map view.
    [self.MapView setShowsUserLocation:YES];
    locationManager = [[CLLocationManager alloc] init];
    [locationManager setDelegate:self];
    [locationManager setDistanceFilter:kCLDistanceFilterNone];
    [locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
}

このデリゲート オブ マップキットを書きました

#pragma mark - MKMapViewDelegate methods. 
- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views {    
    MKCoordinateRegion region;
    region = MKCoordinateRegionMakeWithDistance(locationManager.location.coordinate,2000,2000);


    [mv setRegion:region animated:YES];
}

しかし、私は間違った場所を取得します。私はエジプトにいます。これにより、米国にいる私に与えられます。誰でも私を助けることができますか???

4

2 に答える 2

1

念のため:シミュレーターを使用している場合、位置は実際の位置ではありません。シミュレーターで場所を設定する必要があります: [デバッグ] -> [場所] -> [カスタムの場所] (またはその他)

于 2012-10-22T12:13:54.430 に答える
1

初めに。

あなたは使用しませんでした

[locationManager startUpdatingLocation];

ロケーション マネージャー変数を開始した後に、この行を追加してください。また、Simulator でこの場所 USA が表示されている場合はお知らせください。

そうである場合: シミュレーターは、ユーザー設定によって指定された場所をシミュレートします。シミュレータ ウィンドウに移動すると、選択内容に応じてカスタムの場所を表示するオプションが表示されます。デフォルトでは、USA が選択されています。

問題が解決することを願っています。

于 2012-10-22T12:14:10.330 に答える