2014-02-06 69 views

回答

3

如果您有用戶位置,則可以使用此代碼並將國家/地區名稱與您的位置相匹配。雖然可能存在本地化限制。

- (void)reverseGeocode:(CLLocation *)location { 
    CLGeocoder *geocoder = [[CLGeocoder alloc] init]; 
    [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) { 

     if (!error) { 
      CLPlacemark *placemark = [placemarks lastObject]; 
      NSLog(@"Country: %@", placemark.country); 

     } else 
      NSLog(@"Error %@", error.description); 
    }]; 
} 


然後使用[placemark.country caseInsensitiveCompare:@"canada"] == NSOrderedSame,以配合您正在尋找的國家。

+0

所以,如果我使用這個如何將它納入我的If語句上面? – Bobi

+0

我剛剛編輯了我的答案。 – jbouaziz

+0

謝謝。因此,如果我有一個枚舉語句,它定義了節號(即enum {0}}}} sectionOne = 0, sectionTwo = 1, sectionThree = 2 };我如何根據位置更改節號?我正在考慮if語句,其中包含您編輯的答案,但似乎並不奏效。 – Bobi

0

你需要找一個第三方的API,可以給出一個答案約經/緯度是否在加拿大,或者你需要定義一個邊界框意思是「加拿大」,並測試你的位置是否在裏面。

通過座標定義「加拿大」可能有點棘手,因爲它不是一個正方形,儘管有很重要的部分是很好的直線。通過提供邊界座標列表,This answer可以幫助您定義框。