我需要验证我的应用程序的用户在美国境内。目前,我得到他们的GPS位置,或者,如果他们不愿意分享他们的GPS位置,我要求他们的邮政编码。在这两种情况下,我都使用CLGeocoder类来请求获取位置的CLPlaceMark (通过反向或正向地理编码)。
如何使用CLPlaceMark验证它们是否在美国境内?
发布于 2012-12-13 23:22:41
为了验证我的应用程序的用户是否在美国境内,我决定使用字符串与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-11 05:05:03
您将需要对它们的位置进行反向地理编码。为此,请查看CLGeocoder类。
我也认为this answer可能会很有用。
https://stackoverflow.com/questions/13809122
复制相似问题