iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど
前回の内容を補足する。
現在位置は以下のデリゲートのメソッドで取得した。
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
CLLocation *location = [locations objectAtIndex:0];
BMCoordinateRegion newRegion;
newRegion.center = location.coordinate;
newRegion.span.latitudeDelta = 0.0;
newRegion.span.longitudeDelta = 0.0;
[self.mapView setRegion:newRegion animated:YES];
[self.locationManager stopUpdatingLocation];
}
位置情報は配列となっているが、メソッドを呼ぶまでに複数のイベントが発生した場合に複数個となり、最新の位置情報は末尾となる。なので、上記では先頭の位置情報を取得しているが、宜しくないという事になる。
また、newRegion.spanは表示範囲?どう計算すればいいのか理解できていないが、0.0は宜しくないようで。0.005に変更してみた。
spanは緯度経度の度で、地球一周の長さを360度で割ると、約111km。0.005は約500mという事のようですね。