iPhone - Get City name from Latitude and Longtiude

前端 未结 10 929
难免孤独
难免孤独 2020-12-05 06:04

I want get my Current City name in my iPhone App.

I\'m currently getting the latitude and longitude using CLLocationManager and than i am passing my coordinates into

10条回答
  •  温柔的废话
    2020-12-05 06:14

    This is fine, worked for me.

    I'm getting the latitude and longitude using CLLocationManager and than i am passing my coordinates into CLGeocoder.

    import @corelocation  and for getting city,country #import 
        -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
        {
        CLLocation *location=[locations lastObject];
            CLGeocoder *geocoder=[[CLGeocoder alloc]init];
    
            CLLocationCoordinate2D coord;
            coord.longitude = location.coordinate.longitude;
            coord.latitude = location.coordinate.latitude;
            // or a one shot fill
            coord = [location coordinate];
            NSLog(@"longitude value%f", coord.longitude);
            NSLog(@"latitude value%f", coord.latitude);
            [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
                CLPlacemark *placemark = placemarks[0];
                NSDictionary *addressDictionary = [placemark addressDictionary];
                city = addressDictionary[(NSString *)kABPersonAddressCityKey];
                stateloc = addressDictionary[(NSString *)kABPersonAddressStateKey];
                country = placemark.country;
    
    
                NSLog(@"city%@/state%@/country%@",city,stateloc,country);
               [self getImagesFromServer:city];
    
            }];
    
            [self stopSignificantChangesUpdates];
    
        }
    
    - (void)stopSignificantChangesUpdates
    {
        [self.locationManager stopUpdatingLocation];
        self.locationManager = nil;
    }
    

提交回复
热议问题