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