Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone-在iOS 3.x上使用CLLocation manager更新时不显示用户位置_Iphone_Mkmapview_Cllocationmanager - Fatal编程技术网

iPhone-在iOS 3.x上使用CLLocation manager更新时不显示用户位置

iPhone-在iOS 3.x上使用CLLocation manager更新时不显示用户位置,iphone,mkmapview,cllocationmanager,Iphone,Mkmapview,Cllocationmanager,我有一个mapview,当用它的视图控制器推到屏幕上时,它会显示 用户和其他一些自定义注释。当视图控制器被推到屏幕上时,它调用函数-(void)adduserLocation,该函数显示用户的位置 我还有一个刷新按钮,它也会调用-(void)adduserLocation并刷新所有注释和用户位置,但是当按下刷新按钮时,即使注册了所有相同的回调和更新,用户位置也不会出现在地图上(我可以看到已接收到用户位置并进行了所有必要的回调) 我正在使用: -(MKAnnotationView *)mapVie

我有一个mapview,当用它的视图控制器推到屏幕上时,它会显示 用户和其他一些自定义注释。当视图控制器被推到屏幕上时,它调用函数-(void)adduserLocation,该函数显示用户的位置

我还有一个刷新按钮,它也会调用-(void)adduserLocation并刷新所有注释和用户位置,但是当按下刷新按钮时,即使注册了所有相同的回调和更新,用户位置也不会出现在地图上(我可以看到已接收到用户位置并进行了所有必要的回调)

我正在使用:

-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation {

if ([annotation isKindOfClass:[MKUserLocation class]])
    return nil; //for some reason this is only being returned when the view is pushed and the get
                //location method is called but not when the same location method is called     
                //while the view already exists.

 }
}

我不知道我做错了什么。请帮忙。谢谢

*更新** 我已设法找到问题的根源并加以解决: 问题是我在进行位置更新之前删除了地图上的所有注释 由于某种原因,没有添加用户位置注释。 因此,我所做的只是简单地删除所有非[MKUserLocation类]注释,然后离开 用户位置注释。这解决了我的问题,但我仍然认为可能存在一些问题
这里有一种苹果bug,或者我正在做一些我还看不到的错误。

嘿,为什么不把
MKMapView
属性
showsUserLocation
设置为
YES

mapView.showsUserLocation = YES;
这样,您就不必担心刷新位置了

如果您不想将其用于节省电池或其他用途,我认为我们需要查看更多您的代码。您拥有的代码似乎不是问题所在。您在控制台中是否有任何错误

mapView.showsUserLocation = YES;