0

そこで、ユーザーの位置情報を取得するための Apple によるサンプル コードを調べました。これは私にとってはうまく機能し、その表示は正しい場所です。

ここで、作成した「zipCode」というテキストフィールドに郵便番号を表示したいと思います。どうすればいいですか?

試した:

- (void)locationManager:(CLLocationManager *)manager
     didUpdateLocations:(NSArray *)locations {
    CLLocation *location = [locations objectAtIndex:0];
    NSLog(@"lat%f - lon%f", location.coordinate.latitude, location.coordinate.longitude);
    zipCode.text = self.placemark.postalCode;
}

しかし、それはうまくいきませんでした。

4

2 に答える 2

2

次のように、reverseGeocodeLocation を使用する必要があります。

- (void)locationManager:(CLLocationManager *)manager
     didUpdateLocations:(NSArray *)locations {

    CLLocation *location = [locations objectAtIndex:0];
    CLGeocoder *geocoder = [[CLGeocoder alloc] init];
    [geocoder reverseGeocodeLocation:location completionHandler:
     ^(NSArray* placemarks, NSError* error){
         if ([placemarks count] > 0)
         {
             CLPlacemark *placemark = [placemarks objectAtIndex:0];
             zipCode.text = placemark.postalCode;
         }
     }];
}

CoreLocation.framework をインポートすることを忘れないでください

于 2012-12-18T08:32:12.283 に答える
0

地図上の場所に関する秘密情報が必要な場合は、リバース ジオコーディングを使用する必要があります。ここ
に 書いて あり ます.

于 2012-12-18T08:42:58.180 に答える