アプリのユーザーが米国内にいることを確認する必要があります。現在、私は彼らのGPS位置を取得しています。または、GPS位置を共有しない場合は、郵便番号を要求します。どちらの場合も、CLGeocoderクラスを使用して、場所のCLPlaceMarkを取得するように要求します(リバースまたはフォワードジオコーディングを介して)。
CLPlaceMarkを使用して、米国内にあることを確認するにはどうすればよいですか?
アプリのユーザーが米国内にいることを確認する必要があります。現在、私は彼らのGPS位置を取得しています。または、GPS位置を共有しない場合は、郵便番号を要求します。どちらの場合も、CLGeocoderクラスを使用して、場所のCLPlaceMarkを取得するように要求します(リバースまたはフォワードジオコーディングを介して)。
CLPlaceMarkを使用して、米国内にあることを確認するにはどうすればよいですか?
アプリのユーザーが米国内にいることを確認するために、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
}
文字列の比較であるため、おそらく最善の解決策ではありませんが、より良い解決策が見つかりませんでした。
それらの場所を逆ジオコーディングする必要があります。これを行うには、CLGeocoderクラスを調べます。
また、この回答が役立つと思います。