0

地域識別子で国全体を地域として指定する方法。

identifier as :@"Uk"

識別子を取得するためのコードです。イングランドまたは英国を指定するにはどうすればよいですか。整理するのを手伝ってください

CLLocationCoordinate2D location2D = mapView.region.center; 
CLRegion *regionForMonitoring = [[CLRegion alloc] initCircularRegionWithCenter:location2D radius:1 identifier:@"RegionIdentifier"];
[[Utils getLocationManager] startMonitoringForRegion:regionForMonitoring];
4

1 に答える 1

0

CLRegions は、この目的にはまったく適していません。

まず第一に、指定された半径は、地域がカバーするメートル単位の距離です。したがって、あなたの場合、半径1メートルの特定の緯度/経度で地域を監視するようにシステムに依頼しています!

また、システム リージョンには、監視できるリージョンの最大数 (約 10 程度) と、使用できる最大半径が約 400 メートルあり、それを超えるとリージョンは機能しなくなります。

この Apple ドキュメントの「形状ベースの領域の監視」セクションを読む必要があります。

http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html

あなたがやろうとしていることには、他に2つの可能なアプローチがあります。

1) Significant Location Updates を使用し、指定した形状のエリアにいる場合は、更新ごとにテストします。

2) CoreTelephony を使用して、デバイスが接続されている携帯電話会社を検索し、携帯電話会社の番号が関心のある国の番号と一致するかどうかを確認します。もちろん、一部の iPad やその他のセル接続のない iOS デバイスでは機能しません。

これらのアプローチはどちらも、端では正確ではありませんが、GPS を使用する場合ほどバッテリー寿命を消費しません。

于 2013-08-08T05:44:33.697 に答える