0

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

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

4

2 回答 2

0

您将需要对他们的位置进行反向地理编码。为此,请查看CLGeocoder类。

我也认为这个答案可能有用。

于 2012-12-10T21:05:03.293 回答
0

为了验证我的应用程序的用户是否在美国境内,我决定使用字符串与 CLPlaceMark 的 country 属性进行比较。

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
}

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

于 2012-12-13T15:22:41.333 回答