2

ある場所の地理コードの緯度と経度を逆にして、その場所の住所を取得したいと考えています。Google Web サービスを介して実行しましたが、時間がかかります。他に効率的で良い方法があるかどうか知りたいです。

現在このサービスを呼び出しており、

NSString * getAddress = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/json?latlng=%@,%@&sensor=true",Lattitude,Longitude];
4

6 に答える 6

5

このコードを試してください。

geoCoder = [[CLGeocoder alloc]init];
    [self.geoCoder reverseGeocodeLocation: locationManager.location completionHandler:

     //Getting Human readable Address from Lat long,,,

     ^(NSArray *placemarks, NSError *error) {
         //Get nearby address
         CLPlacemark *placemark = [placemarks objectAtIndex:0];
            //String to hold address
         NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "];
            //Print the location to console
         NSLog(@"I am currently at %@",locatedAt);
     }];
于 2013-07-31T07:18:16.743 に答える
2

をご覧くださいGLGeocoder。具体的にはreverseGeocodeLocation:completionHandler:

于 2013-07-31T07:14:11.783 に答える
1

このチュートリアルをご覧ください。または、何かをすばやくコピーしたい場合: NSArray *addressOutput; CLLocation *現在の場所; //これらのインスタンス変数を仮定します

// Reverse Geocoding
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks, NSError *error) {
    NSLog(@"Found placemarks: %@, error: %@", placemarks, error);
    if (error == nil && [placemarks count] > 0) {
        NSMutableArray *tempArray = [[NSMutableArray alloc] initWithCapacity:[placemarks count]];
        for (CLPlacemark *placemark in placemarks) {
            [tempArray addObject:[NSString stringWithFormat:@"%@ %@\n%@ %@\n%@\n%@",
                                  placemark.subThoroughfare, placemark.thoroughfare,
                                  placemark.postalCode, placemark.locality,
                                  placemark.administrativeArea,
                                  placemark.country]];
        }
        addressOutput = [tempArray copy];
    }
    else {
        addressOutput = nil;
        NSLog(@"%@", error.debugDescription);
    }
}];

チュートリアルのコードに基づいています。

于 2013-07-31T07:41:14.687 に答える