2011-04-08 5 views
0

Ci-dessous le code me donne l'emplacement des États-Unis. Comment puis-je trouver l'emplacement du Royaume-Uni en utilisant le même code d'aide?Problème de localisation dans l'application iPhone

#import "LocalWeatherViewController.h" 
#import "ICB_WeatherConditions.h" 
#import "MapKit/MapKit.h" 

@implementation LocalWeatherViewController 

@synthesize currentTempLabel, highTempLabel, lowTempLabel, conditionsLabel, cityLabel; 
@synthesize conditionsImageView; 
@synthesize conditionsImage; 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    if (1) 

     { 

     CLLocationCoordinate2D coord; 
     coord.latitude = 45.574779; 
     coord.longitude = -122.685366; 


     MKReverseGeocoder *geocoder = [[MKReverseGeocoder alloc] initWithCoordinate:coord]; 
     geocoder.delegate = self; 
     [geocoder start]; 
    } 
    else 
    { 

     [self performSelectorInBackground:@selector(showWeatherFor:) withObject:@"97217"]; 
    } 
} 

- (void)showWeatherFor:(NSString *)query 
{ 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 

    ICB_WeatherConditions *weather = [[ICB_WeatherConditions alloc] initWithQuery:query]; 

    [self.currentTempLabel setText:[NSString stringWithFormat:@"%d", weather.currentTemp]]; 
    [self.highTempLabel setText:[NSString stringWithFormat:@"%d", weather.highTemp]]; 
    [self.lowTempLabel setText:[NSString stringWithFormat:@"%d", weather.lowTemp]]; 
    [self.conditionsLabel setText:weather.condition]; 
    [self.cityLabel setText:weather.location]; 

    self.conditionsImageView.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:weather.conditionImageURL]]; 

    [weather release]; 

    [pool release]; 
} 


- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark 
{ 
    [geocoder release]; 
    [self performSelectorInBackground:@selector(showWeatherFor:) withObject: [placemark.addressDictionary objectForKey:@"ZIP"]]; 
} 

- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error 
{ 
    NSLog(@"reverseGeocoder:%@ didFailWithError:%@", geocoder, error); 
    [geocoder release]; 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
} 

- (void)viewDidUnload { 

} 

- (void)dealloc { 
    [super dealloc]; 
} 

@end 
+0

Il est très difficile de comprendre ce que vous voulez réellement. S'il vous plaît essayez et énoncez votre question plus clairement. – hop

+0

il est de trouver les conditions météorologiques actuelles et de trouver le nom de la ville – N15H4NJ0

+0

qui n'aide pas beaucoup, non plus. Si vous codez les coordonnées de votre programme, pourquoi ne tapez-vous pas le nom de la ville à la place? aussi, la clause else n'est jamais atteinte, donc pas de météo ... – hop

Répondre

-1

Essayez latitude = 50,5, longitude = 0

+0

S'il veut un MKPlacemark au Royaume-Uni, il peut simplement en créer un. Pas besoin de faire des danses stupides avec le géocodage inverse. – hop