0

以下を使用して、iPad アプリケーションで現在の場所を取得できます。

CLLocation *location = [[CLLocation alloc] initWithLatitude:[latitude floatValue]   longitude:[longitude floatValue]];
    CLGeocoder *geocoder = [[CLGeocoder alloc] init];

    [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error)
     {

         NSLog(@"-----------------Placemark is %@-----------------", placemarks);

          locationLabel.text = placemarks;

     }];

出力は、

-----------------Placemark is ("South Atlantic Ocean, South Atlantic Ocean @<-42.60533670,-21.93128480> +/- 100.00m,    region (identifier <-41.51023865,-31.60774370> radius 4954476.31) <-41.51023865,-31.60774370> radius 4954476.31m"
)-----------------

都市名と国名だけを取得するために同じ情報を使用できますか? 情報の長いリストの代わりに?

また、'locationLabel.text = placemarks' は、「互換性のないポインター タイプが 'NSArray*_strong' から 'NSString*' に割り当てられていますが、解決できません。

4

2 に答える 2

2

次のすべての場所の詳細を取得できます

        placeNameLabel.text     = [placemarks[0] name];
        addressNumberLabel.text = [placemarks[0] subThoroughfare];
        addressLabel.text       = [placemarks[0] thoroughfare];
        neighborhoodLabel.text  = [placemarks[0] subLocality];
        cityLabel.text          = [placemarks[0] locality];
        countyLabel.text        = [placemarks[0] subAdministrativeArea];
        stateLabel.text         = [placemarks[0] administrativeArea];
        zipCodeLabel.text       = [placemarks[0] postalCode];
        countryLabel.text       = [placemarks[0] country];
        countryCodeLabel.text   = [placemarks[0] ISOcountryCode];
        inlandWaterLabel.text   = [placemarks[0] inlandWater];
        oceanLabel.text         = [placemarks[0] ocean];
于 2013-09-03T01:00:11.823 に答える