地図を表示する場合のMKMapViewのメソッド

MKCoordinateRegion 地図の縮尺度を設定する。

現在はジオフェンスの3倍を指定しています。

最大1000mなので3km四方でしょうか。

ちなみに緯度は1で111キロ変わります。テストの際に1000メータは変更する場合は0.01刻みで位置情報をカスタマイズします。

画面上に描写したジオフェンスとCLLocationManagerで設定した値が合わないので領域の赤円を変えてみる。

領域の円形サイズを変更

MKCircle *_fenceRange1 = [MKCircle circleWithCenterCoordinate:_centerLocation radius:100];

MKCircle *_fenceRange2 = [MKCircle circleWithCenterCoordinate:_centerLocation radius:500];

MKCircle *_fenceRange3 = [MKCircle circleWithCenterCoordinate:_centerLocation radius:1000];

地理的領域を定義

_regionNearby = [[CLCircularRegion alloc] initWithCenter:_fenceRange1.coordinate radius:_fenceRange1.radius identifier:@”nearby”];

_regionBlock  = [[CLCircularRegion alloc] initWithCenter:_fenceRange2.coordinate radius:_fenceRange2.radius identifier:@”nextBlock”];

_regionTown = [[CLCircularRegion alloc] initWithCenter:_fenceRange3.coordinate radius:_fenceRange3.radius identifier:@”nextTown”];

 

ジオフェンスの範囲設定

CLLocationManagerのstartMonitoringForRegion

[_locationManager startMonitoringForRegion:_regionNearby];

[_locationManager startMonitoringForRegion:_regionBlock];

[_locationManager startMonitoringForRegion:_regionTown];

 

実機テストを行う。