2

私のiPhoneアプリでは、MKMapviewを使用して場所を表示していますが、初めて青い点で現在の場所を表示しています.しかし、地図をドラッグして現在の場所のボタンをクリックしても、青い点は表示されません(しかし現在地の地域)

-(IBAction)currntLctnClick:(id)sender{
  [map setCenterCoordinate:map.userLocation.location.coordinate animated:YES];
}    
4

7 に答える 7

4

最初の読み込み時にユーザーの場所を確認できると言ったことを考えると、setShowsUserLocation:YES に設定したと想定しても安全です。

ビューコントローラーに実装- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotationしましたか?

その場合は、組み込みのユーザー位置マーカーに注釈ビューを提供しないようにしてください。

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
    //check annotation is not user location
    if([annotation isEqual:[mapView userLocation]])
    {
        //bail
        return nil;
    }

    static NSString *annotationViewReuseIdentifer = @"map_view_annotation";

    //dequeue annotation view
    MKPinAnnotationView *annotationView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:annotationViewReuseIdentifer];

    if(!annotationView)
    {
        annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:annotationViewReuseIdentifer];
    }

    //set annotation view properties
    [annotationView setAnnotation:annotation];

    return annotationView;
}
于 2013-06-20T09:04:49.960 に答える
3

機能を実装しましたviewForAnnotationか?MKUserLocation の別の種類のピンを描画していない (または描画に失敗している) ことを確認していますか?

于 2013-02-20T19:24:10.320 に答える
2

現在地を青い点で表示するには

- (void)viewDidLoad
{
    yourMapView.showsUserLocation=YES;
}

ボタンのクリックで現在の場所に移動します

-(IBAction)currntLctnClick:(id)sender
{
    MKCoordinateRegion location = MKCoordinateRegionMakeWithDistance(yourMapView.userLocation.coordinate, 10000.0, 10000.0);

    [yourMapView setRegion:location animated:YES];
}

EDIT
または、それでも青い点が表示されない場合はMapView、xib から削除して、もう一度ドラッグ アンド ドロップします。

于 2013-02-20T14:12:56.133 に答える
0
 [map setShowsUserLocation:YES];  
于 2013-02-20T12:35:05.893 に答える