1

ユーザーがビューを長押ししたときに、地図ビューから GPS 座標を取得したいと考えています。

現在私は使用しています:

- (void)viewDidLoad
{
    [super viewDidLoad];
    mapView.showsUserLocation =YES;
    UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(mapLongPress:)];
    longPressGesture.minimumPressDuration = 1.5;
    [mapView addGestureRecognizer:longPressGesture];
    // Do any additional setup after loading the view.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)mapLongPress:(UILongPressGestureRecognizer *)gestureRecognizer{
    if(gestureRecognizer.state == UIGestureRecognizerStateBegan){
        CGPoint touchLocation = [gestureRecognizer locationInView:mapView];

        CLLocationCoordinate2D coordinate;
        coordinate = [mapView convertPoint:touchLocation toCoordinateFromView:mapView];// how to convert this to a String or something else?
        NSLog(@"Longpress");
    }
}

しかし、どうすれば座標を取得できますか? 座標から = [mapView convertPoint:touchLocation toCoordinateFromView:mapView];?

4

1 に答える 1

1

コードで質問に答えるには:

「これを文字列などに変換する方法は?」

NSLog(@"LongPress coordinate: latitude = %f, longitude  = %f", coordinate.latitude, coordinate.longitude);

地理座標は、緯度と経度で表されます。座標コンポーネントの緯度と経度を含む、
使用するiosを使用します。CLLocationCoordinate2D

latitdue の範囲は [-90.0, 90.0]
経度の範囲は [-180.0, 180.0] です

または独自の構造体を使用CLLocationCoordinate2Dして格納できます。

于 2013-02-01T16:28:10.497 に答える