我希望制作一个“If”语句,我正在使用用户的地理位置来创建结果。我不知道该怎么做。
例如:
If (USERLOCATION = CANADA) {
//then do something here
}
Else {
//do something else
}
答案 0 :(得分: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
与您要查找的国家/地区匹配。
答案 1 :(得分:0)
您需要找到一个第三方API,可以给出关于纬度/经度是否在加拿大的答案,或者您需要定义一个意味着“加拿大”的边界框并测试您的位置是否在内它
通过坐标定义“加拿大”可能有点棘手,因为它不是正方形,尽管有很重要的部分是很好的直线。 This answer可以通过提供边界坐标列表来帮助您定义框。