私のiPhoneアプリでは、MKMapviewを使用して場所を表示していますが、初めて青い点で現在の場所を表示しています.しかし、地図をドラッグして現在の場所のボタンをクリックしても、青い点は表示されません(しかし現在地の地域)
-(IBAction)currntLctnClick:(id)sender{
[map setCenterCoordinate:map.userLocation.location.coordinate animated:YES];
}
最初の読み込み時にユーザーの場所を確認できると言ったことを考えると、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;
}
機能を実装しましたviewForAnnotation
か?MKUserLocation の別の種類のピンを描画していない (または描画に失敗している) ことを確認していますか?
現在地を青い点で表示するには
- (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 から削除して、もう一度ドラッグ アンド ドロップします。
[map setShowsUserLocation:YES];