验证CLPlaceMark是否在美国境内

时间:2012-12-10 20:58:06

标签: objective-c core-location

我需要验证我的应用的用户是否在美国境内。目前我得到他们的GPS位置,或者,如果他们不会分享他们的GPS位置,我要求邮政编码。在这两种情况下,我都使用CLGeocoder类来请求获取CLPlaceMark的位置(通过反向或正向地理编码)。

如何使用CLPlaceMark验证它们是否在美国境内?

2 个答案:

答案 0 :(得分:0)

您需要反转地理位置的地理位置。为此,请查看CLGeocoder类。

我也认为this answer可能有用。

答案 1 :(得分:0)

为了验证用户是否在我的应用程序的美国境内,我决定使用字符串比较CLPlaceMark的国家/地区属性。

CLPlacemark *placemark = nil;

for (CLPlacemark *extractedPlacemark in placemarks) {
    if ([extractedPlacemark.country isEqualToString:@"United States"]) {
            placemark = extractedPlacemark;
    }
}

if (place mark) {
    // Do something with place mark because its within the United States
} else {
    // Let the user know that they must be within the United States to use the app
}

它可能不是最好的解决方案,因为它是一个字符串比较,但我找不到更好的解决方案。