Ios MkmapView用户位置
我正在开发一个基于Ios MkmapView用户位置,ios,objective-c,mkmapview,cllocationmanager,Ios,Objective C,Mkmapview,Cllocationmanager,我正在开发一个基于MKMapView的应用程序,该应用程序的要求是检测用户位置(由蓝点表示)是位于屏幕的可见区域还是位于可见屏幕区域之外 在开始加载地图时,它会自动将其位置设置为用户的位置,但我想在用户滚动地图视图后检测当前位置是否在屏幕的可见区域 请提供有用的解决方案并帮助我 提前谢谢。只需使用userLocationVisible(我不记得了,但@Volker提醒了我) 任何注释: 获取位置并检查像素坐标是否可见 从地图中获取用户位置 得到它的坐标 将其转换为映射点(MKMapPointF
MKMapView
的应用程序,该应用程序的要求是检测用户位置(由蓝点表示)是位于屏幕的可见区域还是位于可见屏幕区域之外
在开始加载地图时,它会自动将其位置设置为用户的位置,但我想在用户滚动地图视图后检测当前位置是否在屏幕的可见区域
请提供有用的解决方案并帮助我
提前谢谢。只需使用
userLocationVisible
(我不记得了,但@Volker提醒了我)
任何注释: 获取位置并检查像素坐标是否可见
MKMapRect visibleRect = self.mapView.visibleMapRect;
MKMapPoint pt = MKMapPointForCoordinate(self.mapview.userLocation.coordinate);
BOOL visible = MKMapRectContainsPoint(visibleRect, pt);
可能重复为什么不直接使用
userLocationVisible
?@Volker:D因为我不记得了,下面是我自己问题的答案:-(void)mapView:(MKMapView*)mapView regionDidChangeAnimated:(BOOL)animated{if(!mapView.userLocationVisible)NSLog(@“userlocation不可见”);else NSLog(@“用户位置现在可见”);}感谢Volker和Daij Djan的回答,这帮助我实现了我想要实现的目标。