ユーザーの場所が iPhone マップキットで正常に検出されたときに発生するイベントはありますか?
現在地のピンがマップにドロップされた時点で Web サービスを呼び出したい。
MKMapView
それ自体がユーザーの位置を表示している場合 (プログラムで " "mapView.showsUserLocation = YES;
を使用するか、IB で "shows user location" をチェックして)、viewForAnnotation
ピンがドロップされるとマップ ビューが呼び出されます。以下を使用できます。
- (MKAnnotationView *)mapView:(MKMapView *)aMapView viewForAnnotation:(id <MKAnnotation>)annotation
{
if ([annotation isKindOfClass:MKUserLocation.class]) {
// Call web service here
return nil;
}
}
nil を返すと、ユーザーの場所にデフォルトのピンを使用するようにマップ ビューに指示します (アニメーション付きの青い点)。コントローラーを に設定することを忘れないでくださいMKMapViewDelegate
。
startUpdatingLocation
CLLocationManger オブジェクトを作成し、メソッドを呼び出す必要があります。場所が見つかって更新されると、CLLocationMangerDelegate メソッド
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
自動的に呼び出されます。このメソッドを再実装して、ここから Web サービスを呼び出すことができます。