0

iPhoneシミュレーターで現在地を取得できません。カスタムの場所を緯度と経度にエジプトに設定しましたが、現在の場所を取得できません。

- (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];



    //Instantiate a location object.
    locationManager = [[CLLocationManager alloc] init];
    [locationManager startUpdatingLocation];

    //Make this controller the delegate for the location manager.
    [locationManager setDelegate:self];

    //Set some parameters for the location object.
    [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

3

正確には何が問題なのですか?本来あるべき場所にuserLocationがない、またはマップ領域を適切な場所に移動していない?

それが最初の場合、それは主にツールの問題であり、コードの問題ではありません。

あなたの場所がプロジェクト内のgpxファイルにある場合は、Scheme / Options / Allow Location Simulation /を編集して、デフォルトの場所を選択することで開始できるはずです。

特定の場所から開始するためのSchemeEdition

また、プロジェクトには次のようなDemoStart.gpxファイルが必要です。

<?xml version="1.0"?>
<gpx version="1.1" creator="Xcode">
    <wpt lat="20.88072" lon="10.67429">
        <name>Demo Starting Location</name>
    </wpt>
</gpx>

(申し訳ありませんが、私はエジプトの正確な座標を見つけるのが面倒です)。

于 2012-10-23T11:52:51.557 に答える
0

まず、CLLocationManagerが自分の場所を自分の場所に更新していることを確認する必要があります。これを行うには、View ControllerをCLLocationManagerのデリゲートとして設定します。これはすでに行っており、この場所を保存します。startUpdatingLocationすべてのセットアップを完了し、に設定した後、showsUserLocation電話をかけてみてくださいYES

- (void)locationManager:(CLLocationManager *)manager

     didUpdateLocations:(NSArray *)locations {

    // If it's a relatively recent event, turn off updates to save power

    CLLocation* myLocation = [locations lastObject];
}

iOSシミュレータバージョン>=5.1でこれをテストしていることを確認してください

于 2012-10-23T10:47:48.547 に答える