如何以编程方式在MKMapView iOS上显示用户位置?

如何以编程方式在MKMapView iOS上显示用户位置?,ios,mkmapview,uiactionsheet,Ios,Mkmapview,Uiactionsheet,我正在尝试制作一个具有MKMapView的应用程序,无论它是否显示您的位置,您都可以打开/关闭它。我使用UIActionSheet让用户决定打开/关闭showsUserLocation。问题不在于UIActionSheet,而是当我选择YES选项时,我似乎无法让MKMapView显示用户位置 -(void)操作表中的代码:(UIActionSheet*)操作表单击按钮索引:(NSInteger)按钮索引方法: // Show User Location ActionSheet if (actio

我正在尝试制作一个具有MKMapView的应用程序,无论它是否显示您的位置,您都可以打开/关闭它。我使用UIActionSheet让用户决定打开/关闭showsUserLocation。问题不在于UIActionSheet,而是当我选择YES选项时,我似乎无法让MKMapView显示用户位置

-(void)操作表中的代码:(UIActionSheet*)操作表单击按钮索引:(NSInteger)按钮索引方法:

// Show User Location ActionSheet
if (actionSheet.tag == 1) {

    // YES Button
    if (buttonIndex == 0) {
        MapView.showsUserLocation = YES;

    }

    // NO Button
    if (buttonIndex == 1) {
        MapView.showsUserLocation = NO;

    }

}

它没有显示用户的位置,即使我按了“是”按钮。救命啊

showsUserLocation告诉地图启用用户位置蓝点,但它不会将地图滚动到用户位置

要做到这一点,您需要请求位置更新,并根据您获得的信息更改地图区域


另外,我似乎还记得,您可以使用KVO观察地图的userLocation属性。

没关系,我发现一个视频对我帮助很大


YouTube上的本教程帮助我在MKMapView上显示用户的位置。结果表明,在
-(void)viewDidLoad
方法中,我需要添加
[MapView setDelegate:self]。天哪,那是个愚蠢的错误P

.showUserLocation
不显示用户位置。它是
MKMapView
对象的一个属性。如果设置为“否”,则地图上不会显示用户的位置。尝试使用
didUpdateLocation
方法获取坐标,然后在
MKMapView
中使用该坐标:您是在尝试将地图移动到用户所在的位置,还是在用户所在的位置绘制蓝点(此时可能不在屏幕上)或两者兼而有之?