0

アプリのユーザーが米国内にいることを確認する必要があります。現在、私は彼らのGPS位置を取得しています。または、GPS位置を共有しない場合は、郵便番号を要求します。どちらの場合も、CLGeocoderクラスを使用して、場所のCLPlaceMarkを取得するように要求します(リバースまたはフォワードジオコーディングを介して)。

CLPlaceMarkを使用して、米国内にあることを確認するにはどうすればよいですか?

4

2 に答える 2

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
}

文字列の比較であるため、おそらく最善の解決策ではありませんが、より良い解決策が見つかりませんでした。

于 2012-12-13T15:22:41.333 に答える
0

それらの場所を逆ジオコーディングする必要があります。これを行うには、CLGeocoderクラスを調べます。

また、この回答が役立つと思います。

于 2012-12-10T21:05:03.293 に答える